jvm与堆和栈-栈的"数据共享"实例化String对象的两种方法

jvm与堆和栈-栈的数据共享-实例化String对象的两种方法我们在比较两个String是否相等时,一定是用equals

jvm与堆和栈-栈的"数据共享"-实例化String对象的两种方法

我们在比较两个String是否相等时,一定是用"equals()"方法,而当测试两个包装类的引用是否指向同一个对象时,我们应该用"= ="。

因此,我们可以通过"= ="判断是否相等来验证栈上面的数据共享的问题。

例1:

String s1 =new String ("asdf"); 
String s2 =new String ("asdf");
System.out.println(s1==s2);

该程序的运行结果是,"false",这说明用new的方式是生成的对象,每个对象都指向不同的地方。

?

转自:http://book.51cto.com/art/200906/131809.htm

?