举个例子:String str = "Happy";
String s1 = "Happy";out.print(s1==str);//the result is true but:
String str = "Happy";
String s1 = new String("Happy");out.print(s1==str);//the result is false

解决方案 »

  1.   

    String str = "Happy";
    String s1 = new String("Happy");
    这样就是不同的引用了。
    acefr()的例子很能说明问题。
      

  2.   

    new String("Happy")
    显拭创建一个对象。String s1 = "Happy" 隐式创建一对象。
    从使用角度,二者其本没有区别。对于
    String str = "Happy";
    String s1 = "Happy";
    out.print(s1==str);//the result is true 
    上述条件未必永远成立,
    取决于编译器的实现。
      

  3.   

    你确定你要为一个字符串新分配一个空间就用new String