本篇文章主要介绍了"解析String s="a" 和 String s1=new String"a"生成时,内存中的变化",主要涉及到方面的内容,对于Javajrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下:
String s="abc" s是栈内变量,它的内存保存的是常量池的常量字符串对象对象"abc"的地址。常量池中的每个只有一份。String s2 = "ab...
String s="abc"
s是栈内变量,它的内存保存的是常量池的常量字符串对象对象"abc"的地址。常量池中的每个值只有一份。String s2 = "abc";
s和s2两个变量指向的是同一个地址,因此s==s2结果为true
String s1=new String("abc");s1是栈内变量,它的内存保存的是堆中的new String对象的地址,new String在堆中生成对象,并用常量池的字符串对象"abc"初始化堆中的对象,所以堆中的对象的内存的内容和常量池对象的内存的内容一样,但是是不同的两个对象
因此s==s1的结果是false。==比较的是两对象的引用,因此结果为false.
s.equals(s1)的结果是true,因为String的equals方法比较的是对象的内容。
以上就介绍了解析String s="a" 和 String s1=new String"a"生成时,内存中的变化,包括了方面的内容,希望对Javajrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_1126568.html