毫无疑问,只有一个对象!!! 这是个经典的面试题,前一个s是一个对象引用,无论是哪本好的Java教材(Core Java or Think in Java)都有很详细的说明此类问题。 new String等于是一个构造方法,他的原型应该是public String(String obj),那个"abc" 不过是个传递过去的参数而已。 楼上觉得不屑这种基础题的朋友,问你一下: String a,b; String a = "abc"; b = "abc"; 创建几个对象知道么? 可别用eclipse作实验哦,否则就没意思了。
相信 Michael_javab() 的, 他的答案是正确的。 这题考就是基础,是非常重要的基础。如果懂得这一点,你将会知道下面比较的是什么。在写图形界面程序时经常用到: e.getSource()。如果懂得这一点,你将会知道它返回的是什么。 public class test { public static void main(String[] args) { String str1 =new String("abc"); String str2 =new String("abc"); System.out.println(str1 == str2); } } 在这个程序里,其实是生成了两个对象,它们的首地址分别由str1,str2保存,执行(str1==str2)时,就是比较它们的首地址。很显然它们的结果是false。
我觉得是只有一个对象,和 Michael_javavb() 这位朋友的观点是一致的. 还有这个问题: String a,b; String a = "abc"; b = "abc"; 创建几个对象知道么?仍然是只有一个对象,第一个创建的"abc"是一个String对象,第二个用b来引用的那条语句它会先查找是否有已经创建的"abc"可用,显然是有的,所以就不再创建新的了,直接用已经创建的.
呵呵~
这种公司真的没必要去了。。
第一个"abc"
第二个new string()
第三个String s
http://community.csdn.net/Expert/topic/4457/4457683.xml?temp=.9517328
http://community.csdn.net/Expert/topic/4432/4432508.xml?temp=.3190271
我想他是不会骗我的,他没有这个必要,对日的项目他们说目前还没做,也不要求日语,问了英语能不能看懂,说经常有英语文档。
scjp就考这种题 ,有点无聊 ,但可以看出基层牢靠不牢靠
这是个经典的面试题,前一个s是一个对象引用,无论是哪本好的Java教材(Core Java or Think in Java)都有很详细的说明此类问题。
new String等于是一个构造方法,他的原型应该是public String(String obj),那个"abc" 不过是个传递过去的参数而已。
楼上觉得不屑这种基础题的朋友,问你一下:
String a,b;
String a = "abc";
b = "abc";
创建几个对象知道么?
可别用eclipse作实验哦,否则就没意思了。
这题考就是基础,是非常重要的基础。如果懂得这一点,你将会知道下面比较的是什么。在写图形界面程序时经常用到: e.getSource()。如果懂得这一点,你将会知道它返回的是什么。
public class test
{
public static void main(String[] args)
{
String str1 =new String("abc");
String str2 =new String("abc");
System.out.println(str1 == str2);
}
}
在这个程序里,其实是生成了两个对象,它们的首地址分别由str1,str2保存,执行(str1==str2)时,就是比较它们的首地址。很显然它们的结果是false。
还有这个问题:
String a,b;
String a = "abc";
b = "abc";
创建几个对象知道么?仍然是只有一个对象,第一个创建的"abc"是一个String对象,第二个用b来引用的那条语句它会先查找是否有已经创建的"abc"可用,显然是有的,所以就不再创建新的了,直接用已经创建的.