Java中,String类型的数据存放有两种情况:
如果是String s=“nowcoder”,则是放在字符串常量池中。
如果是String ss=new String(“nowcoder”),则是放在堆中。
对于字符串:其对象的引用都是存储在栈中的,如果是【编译期已经创建好(直接用双引号定义的)的就存储在常量池中】,如果是【运行期(new出来的)才能确定的就存储在堆中】。对于equals相等的字符串,在常量池中永远只有一份,在堆中有多份。
Java中,String类型的数据存放有两种情况:
如果是String s=“nowcoder”,则是放在字符串常量池中。
如果是String ss=new String(“nowcoder”),则是放在堆中。
对于字符串:其对象的引用都是存储在栈中的,如果是【编译期已经创建好(直接用双引号定义的)的就存储在常量池中】,如果是【运行期(new出来的)才能确定的就存储在堆中】。对于equals相等的字符串,在常量池中永远只有一份,在堆中有多份。