==用来测试基本类型是否相等
equals()是Object类的方法,一般重写以后可以比较对象是否相等。

解决方案 »

  1.   

    String a="good",b="good";
    a==b;
    但是用equals不相等
      

  2.   

    更正
    String a="good",b="good";
    a!=b;
    但是用equals相等
      

  3.   

    ==用来比较对象引用。
    equals比较对象存储内容例如:
    String str1 = new String("abc");
    String str2 = new String("abc");str1 == str2   false
    比较引用地址。
    str1.equals(str2)  true.
    比较字符串内容。String str1 = "abc";
    String str2 = "abc";str1 == str2  true
    str1.equals(str2)  frue
    这个结果是字符串池的原因,和数据库连接池类似。
      

  4.   

    ==,比较两个String的指针是否指向同一个内存地址
    equals(),比较String的面值
      

  5.   

    更正
    String a="good",b="good";
    a!=b;
    但是用equals相等
    以上内容是不对的。测试一下便知。
      

  6.   

    equals方法检查两个字符串的内容是否相等,比如:
    String str1 = new String("AAA");
    String str2 = str1;
    那么str1.equals("AAA")和str1.equals(str2)肯定返回true而==运算符比较两个对象是否引用相同的实例:
    Strint s1="china";
    s1引用了一段静态内存,其中存储的信息是"china",而:
    Strint s3=new String("china");
    为s3在堆栈中声明了一个字符串对象;
    二者显然引用的不是同一个对象,因此
    s1==s3肯定返回false
      

  7.   

    同意chenchen2003(晨辰)的说法,up!
      

  8.   

    equals是Object类的方法哦,重写了以后可以比较任何对象,不只是String型哦
    在Object类中它是实现判断两个对象是否指向同一块内存区域。
      

  9.   

    equals默认也是比较引用吧,不知道说错了没有
      

  10.   

    class Test
    {
    String a = new String("good");
    String b = new String("good");
    public Test()
    {
    if(a==b)System.out.println("a==b");
    if(a.equals(b))System.out.println("a.equals(b)");
    }
    public static void main(String[] args)
    {
    Test test = new Test();
    }
    }
    可以打印出来a.equals(b)的
      

  11.   

    equals 不比较对象,而 比较对象具体值正如chenchen所说“String a="good",b="good";a!=b;但是用equals相等”但要注意:a.equels(b) 时 保证a 不为null  否则 异常