美文网首页
字符串初始化方式比较

字符串初始化方式比较

作者: 平凡的鱼仔 | 来源:发表于2018-09-27 23:17 被阅读172次

初始化方法一:

String str1=new String("abc");
String str2=new String("abc");

System.out.println(str1==str2);
System.out.println(str1.equals(str2));
//输出结果为:
// false
//true

用new String初始化的存储方式

Method1.png

初始化方法2:

String str1="abc";
String str2="abc";

System.out.println(str1==str2);
System.out.println(str1.equals(str2));
//输出结果:
//true
//true

用"="初始化的存储方式

Method2.png

此方法初始化时先在栈中创建常量"abc",然后创建匿名的new String()来将"abc"赋给str1。当初始化str2时,先在栈中查找是否存在常量"abc",若存在,则直接用用一个new String()方法将"abc"赋给str2。

ps:
1.操作少,数据少,用String()
2.单线程,操作多,数据多,用StringBuilder()
3.多线程,操作多,数据多,用StringBuffer()

相关文章

网友评论

      本文标题:字符串初始化方式比较

      本文链接:https://www.haomeiwen.com/subject/wowyoftx.html