首先要理解句柄,通过简单的声明String s1或者 String s2, s1或者s2我们就为String对象创建了一个句柄。而句柄的保存数据地方是堆栈(栈)。在String s1="a"中的"a"是存储在栈里,和基本类型的内存空间分配一样。而Sting s2= new String("a"),new 关键字新建类型为String的一个对象,再用等号将其赋给句柄。我们知道Java 对象是保存在堆(Heap)里的。这样很明显s1可以使用==也可以使用equals(),而s2只能使用equals()。
String s1="a"和 Sting s2= new String("a")的区别
最新推荐文章于 2022-11-10 20:15:40 发布