java问题:String a="tom"和String a=new String("tom")一样吗

来源:百度知道 编辑:UC知道 时间:2024/06/30 13:03:07

String类相对于其它类有一个区别,是它有个对象池。
比如说“tom”,"jathon",这些对象都会放到一个对象池中。

当使用String a ="tom"时,自动看过对象池,如果对象池中已经有"tom",刚不新建立对象,而直接将a走向对象池中的“tom”.

不同的是,如果用new关键字,无论对象池中有没有"tom",都会重新建立新对象,并将a指向这个新对象。