概述
面试题:Java的String类型为什么是不可变的(百度面试题)
面试题:获取www.baidu.com最后一个点的内容”com”(蘑菇街面试题)
面试题:String a=”abc” String b=”a” + “bc” a == b?(网易面试题)
一、String基础部分
建议先看下基础篇:Java基础系列(十二)Object、String、StringBuffer
代码:
String a="abc"; String b="a"+"bc";
if(a == b) {
System.out.print("true");
}
else {
System.out.print("false");
}
//输出为:true
//只生成一个字符串,保存在字符串常量池中
二、Java的String类型为什么是不可变的
String类中的成员变量:
private final char value[];
private final int offset;
private final int count;
执行了String s = “ABCabc”; 这句代码之后,真正的内存布局应该是这样的:
value,offset和count这三个变量都是private的,并且没有提供setValue, setOffset和setCount等公共方法来修改这些值,所以在String类的外部无法修改String。
三、不可变的好处
因为字符串是不可变的,所以是多线程安全的,同一个字符串实例可以被多个线程共享。这样便不用因为线程安全问题而使用同步。字符串自己便是线程安全的。
在大量使用字符串的情况下,可以节省内存空间,提高效率。
四、String截取字符串
代码:
String str = "www.baidu.com";
int i = str.lastIndexOf('.');
String str1 = str.substring(i+1,str.length());
System.out.println(str1);
Java面试的完整博客目录如下:Java笔试面试目录
转载请标明出处,原文地址:https://blog.csdn.net/weixin_41835916 如果觉得本文对您有帮助,请点击顶支持一下,您的支持是我写作最大的动力,谢谢。
最后
以上就是笨笨流沙为你收集整理的Java面试--String的全部内容,希望文章能够帮你解决Java面试--String所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复