菜鸟求教:关于java中String创建对象问题。。。
答案:5 悬赏:20 手机版
解决时间 2021-11-11 17:42
- 提问者网友:佞臣
- 2021-11-10 18:06
菜鸟求教:关于java中String创建对象问题。。。
最佳答案
- 五星知识达人网友:七十二街
- 2021-11-10 18:19
第一个问题是new出3个对象,第二个问题是产生了4个对象
区别是第一个问题中是3个对象分别对应3个引用,而第二个问题是生成了4个对象和一个引用。
public class Test1{
public static void main(String[] args){
//这是第一个问题的解答
String str1=new String("abc");
String str2=new String("abc");
String str3=new String("abc");
System.out.println("str1=str2? :"+str1==str2);
System.out.println("str1=str3? :"+str1==str3);
System.out.println("str3=str3? :"+str2==str3);
}
}
区别是第一个问题中是3个对象分别对应3个引用,而第二个问题是生成了4个对象和一个引用。
public class Test1{
public static void main(String[] args){
//这是第一个问题的解答
String str1=new String("abc");
String str2=new String("abc");
String str3=new String("abc");
System.out.println("str1=str2? :"+str1==str2);
System.out.println("str1=str3? :"+str1==str3);
System.out.println("str3=str3? :"+str2==str3);
}
}
全部回答
- 1楼网友:人類模型
- 2021-11-10 22:22
同意楼上!
- 2楼网友:十鸦
- 2021-11-10 21:14
new 一次就是创建了一个
第二格相当于copy
第二格相当于copy
- 3楼网友:忘川信使
- 2021-11-10 19:56
第一题:三个,很明显,因为new了三个
第二题:4个,因为new了一个,其他的都是在3个在文字常量区的 1+3 = 4
第二题:4个,因为new了一个,其他的都是在3个在文字常量区的 1+3 = 4
- 4楼网友:不想翻身的咸鱼
- 2021-11-10 19:22
第一题是3个因为new 3次
第二题是4个因为String的值是不能改变的,此题中的str仅仅是个引用
str-->Aptech 第一个对象
str-->Aptech computer 第二个对象
str-->Aptech computer education 第三个对象
str-->Aptech computer education world-wide 第四个对象 也是str最终指向的值
前三个在内存中分配了地址只是没有被引用。最终会被垃圾回收。
第二题是4个因为String的值是不能改变的,此题中的str仅仅是个引用
str-->Aptech 第一个对象
str-->Aptech computer 第二个对象
str-->Aptech computer education 第三个对象
str-->Aptech computer education world-wide 第四个对象 也是str最终指向的值
前三个在内存中分配了地址只是没有被引用。最终会被垃圾回收。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯