String s=new String("abc");
创建了几个String对象?我真晕,居然出这样的问题。

解决方案 »

  1.   

    出这种题的人可能才刚开始学Java
    呵呵~
    这种公司真的没必要去了。。
      

  2.   

    今天答的那个题叫一个基础,面面俱到,我都快答晕了,眼瞅着签字笔的油快用尽了。快赶上写作文了。历时2个多小时,不停地写。但有没有会这个问题的人啊?听说越是大公司出的题越基础,可能会看出你对java底层的了解吧?
      

  3.   

    他们做的项目挺好的,欧美项目,自主研发。感觉能学到不少东西,是通讯方面的,socket,偶还不会。
      

  4.   

    三个
    第一个"abc"
    第二个new string()
    第三个String s
      

  5.   

    晕,这不知道,你就拿不到这里的分咯。
    http://community.csdn.net/Expert/topic/4457/4457683.xml?temp=.9517328
      

  6.   

    我看这道题目一点也不简单, 以前也有很多人讨论过,大家的回答可谓五花八门,但是正确的答案肯定是只有一个,所以也难怪公司会用这样的题目排除掉一大部分人。
    http://community.csdn.net/Expert/topic/4432/4432508.xml?temp=.3190271
      

  7.   

    mingzhenyang说的我觉得靠谱,不过我觉得是前2个,s只是一个变量名而已,怎么能算一个String对象to  blueindead:
      我想他是不会骗我的,他没有这个必要,对日的项目他们说目前还没做,也不要求日语,问了英语能不能看懂,说经常有英语文档。
      

  8.   

    改成两个String s那个不算。。
      

  9.   

    2个 
    scjp就考这种题 ,有点无聊 ,但可以看出基层牢靠不牢靠
      

  10.   

    毫无疑问,只有一个对象!!!
    这是个经典的面试题,前一个s是一个对象引用,无论是哪本好的Java教材(Core Java or Think in Java)都有很详细的说明此类问题。
    new String等于是一个构造方法,他的原型应该是public String(String obj),那个"abc" 不过是个传递过去的参数而已。
    楼上觉得不屑这种基础题的朋友,问你一下:
    String a,b;
    String a = "abc";
    b = "abc";
    创建几个对象知道么?
    可别用eclipse作实验哦,否则就没意思了。
      

  11.   

    相信 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。
      

  12.   

    我觉得是只有一个对象,和 Michael_javavb() 这位朋友的观点是一致的.
    还有这个问题:
    String a,b;
    String a = "abc";
    b = "abc";
    创建几个对象知道么?仍然是只有一个对象,第一个创建的"abc"是一个String对象,第二个用b来引用的那条语句它会先查找是否有已经创建的"abc"可用,显然是有的,所以就不再创建新的了,直接用已经创建的.