equals is use to compare the value of two string
== is use to compare the memory address of two string

解决方案 »

  1.   

    if(tmp.equals(null) || tmp.equals("")),如果tmp为空会报nullpointexeption错误,不可以调用空对象的方法
      

  2.   

    equal是Java.lang.string函数比较String的
      

  3.   

    ==相同要同一个对象,
    equal相同,看函数的实现咯,你要继承修改成怎么样相同都可以,默认的就是jdk的实现咯。
      

  4.   

    ==
    是比较两个reference是否指向同一各对象。
    equals
    是比较两个对象的内容是否一样。
    equals是从Object继承下来的。一般来说你应该为你自己的对象复写该函数。当然对于String来说默认就是比较字符串是否相同了。
    另外String比较特别,他有两种定义方法。
    String s1=“string”;                
    String s2=new String(“string”);
    我自己的总结是,s1是基本型别,s2是引用。不知这种看发是否正确。