早教吧 育儿知识 作业答案 考试题库 百科 知识分享

求各种答案:Strings=newString("xyz")究竟创建了几个StringObject?2个3个?一种说法是引用对象s和new时候放在heap的”xyz“;一种说法是在编译时候由”“建了一个xyz对象放在常量池中,后new一个放在

题目详情
求各种答案:String s=new String("xyz")究竟创建了几个String Object?2个 3个?
一种说法是引用对象s 和new时候放在heap的”xyz“;
一种说法是在编译时候由”“建了一个xyz对象放在常量池中,后new一个放在heap,
难道是3个?s+常量池的+new产生的?
s不是对象.2个
▼优质解答
答案和解析
String s=new String("xyz")
创建两个对象,引用对象s,字符串对象"xyz";
String s1=new String("xyz") String s=new String("xyz")
两个引用对象s1、s,两个内容相同的字符串对象"xyz",它们在内存中的地址是不同的.
记住,凡是用new生成的总是新对象.
String s1 = "xyz" ;String s = "xyz";
如果像上面这样写,s1、s引用的才是同一个常量池中的对象.