【面试经常】new String()和直接赋值
两句 分开写
String s = new String("abc");
String s = "abc";
前者创建2个对象
后者创建1个对象
如果是在同一个程序,只有这两句话
String s1 = new String("abc"); String s2 = "abc";
前者创建了2个对象,后者创建了0个
注意堆、栈、方法区、字符串常量池
建议看b站黑马java 12.08
如下返回的是true,因为地址值相同,都是指向在字符串常量池的"abc"
1 String s1 = "abc"; 2 String s2 = "abc"; 3 System.out.println(s1==s2);
str += 字符串
一旦被赋值就不能被改变:意思是 =右边的字符串常量


浙公网安备 33010602011771号