String s=new String("xyz");创建了几个String Object?二者之前的区别是什么?

String s=new String("xyz");创建了几个String Object?二者之前的区别是什么?

      两个。第一个对象是字符串常量"xyz" 第二个对象是new String("xyz")的时候产生的,在堆中分配内存给这个对象,只不过这个对象的内容是指向字符串常量"xyz" 另外还有一个引用s,指向第二个对象。这是一个变量,在栈中分配内存。


转载自:http://www.cnblogs.com/guweiwei/p/6601966.html

你可能感兴趣的:(面试)