结果一样,不过
String s=new String("ssss");
更能表现出String是一个对象

解决方案 »

  1.   

    一个是变量,一个是对象,变量不等于对象
    String s = "sd";
    String t = new String("sd");但s不等于t
      

  2.   

    我感觉应该都是对象,只是Java的语法分析器,允许使用类的对象在赋值时
    调用默认构造器,进行初始化。
    String s = "sd"; 
    在进行赋值时同样调用了new String("sd");
    String t = new String("sd");更加显示的调用。
    s不等于t,因为分配的内存区是不同的。
      

  3.   

    在使用上两者是一样的。
    楼上的应该再看看基本概念,什么叫“s不等于t ”?
    s和t是在不同的内存区,所以只能说s!=t,但s.equals(t)是true.
      

  4.   

    没区别!Java中,字符串是对象。对想比较s==t,比较的是句柄,所以false;s.equals(t)比较对象的内容,所以是true。
      

  5.   

    不同之处在于:
    这样声明:String s="ssss"; java会把"ssss"放在pool of literal strings里面。
              此后假如再声明String s1 = "ssss"; s 和 s1将是同一个串。而如果用new的话将总是新建一个新串,除非调用intern(),否则字符串值不会被放入
              pool of literal strings里面。