String a="abc"和String a=new String("abc");区别在哪呢?

如题所述

有区别,一个是简单类型,一个是对象类型.

String a="abc",是存在String pool里
String a=new String("abc");是存在对象pool里.

String a="abc", b="abc"; a==b ->true

String a=new String("abc");
String b=new String("abc");
a==b ->flase
a.equals(b) ->true
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-01-16
我也不是很清楚,也想进来弄个明白。
看到没答案就说下咯
String a="abc"在C中好象是不合法的语句。
java是面向对象的语言,把a看作一个对象也就是"abc"在语句 String a=new String("abc")中实现,以后就可以把a当作"abc"来看待了。至于String a="abc"我还是不很明白。希望有更加精确的回答。
相似回答