new String(“a”)与String a="a";

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了new String(“a”)与String a="a";相关的知识,希望对你有一定的参考价值。

String a=new String ("a");
String b=new String ("a");
//这是比较地址
System.out.println(a==b);//false
//这是比较值
System.out.println(a.equals(b));//true

 

//new的方式放在堆里,地址不一样

技术分享

 

String c="a";
String d="a";
//这是比较地址
System.out.println(c==d);//true
//这是比较值
System.out.println(c.equals(d));//true

//不用new的方式是放在常量池中

技术分享

技术分享

 

//一个在常量池中,一个在堆中,所以地址也不一样

System.out.println(c==a);//false
System.out.println(c.equals(a));//true

 












以上是关于new String(“a”)与String a="a";的主要内容,如果未能解决你的问题,请参考以下文章

java中String问题,String a=new String(""); 和String a=new String();有区别吗

Java String a=new String("ABC")的创建

js 字符串,new String() 与 String()

String a = new String ("A"); String a = "A"; 两者之间的区别?

Java中String直接赋字符串和new String的区别 如String str=new String("a")和String str = "a"有什么区

String str=new String("a")和String str = "a"有什么区别?