搜索

JAVA--问题总结


发布时间: 2022-11-24 18:42:05    浏览次数:66 次

1.String值是不是可变的?为什么不可变?

不可变,只要创建出来它的值就被放在底层final所修饰的char[] value数组里

2.String,StringBuilder,StringBuffer区别?

(1)String使用final修饰,表示最终类,不可继承和修改,线程安全;

(2)而StringBuilder和StringBuffer都是可修改对象,

StringBuffer使用synchronized同步修饰方法,线程安全,StringBuilder非线程安全;

线程不安全的类绝对不能充当成员变量

3.字符串的比较例如为什么一定要用String的equals()方法比较?

String重写了Objects.equals()方法,而StringBuilder和StringBuffer没有

String str1 = "level";
StringBuilder str2 = new StringBuilder();
str2.append("level");
//
//str2.toString()将Str2转换成String类型
boolean flag1 = str1.equals(str2.toString());//true
//str2调用父类Objects.equals()方法,使用==去比较
boolean flag2 = str2.equals(str1);//false

4.

免责声明 JAVA--问题总结,资源类别:文本, 浏览次数:66 次, 文件大小:-- , 由本站蜘蛛搜索收录2022-11-24 06:42:05。此页面由程序自动采集,只作交流和学习使用,本站不储存任何资源文件,如有侵权内容请联系我们举报删除, 感谢您对本站的支持。 原文链接:https://www.cnblogs.com/wang1999an/p/16806144.html