就是==与 equal()函数的区别...

解决方案 »

  1.   

    equal是比较字符串的。==是比较数字的。
      

  2.   

    1.应该是equals().
    2.基本类型只能用==
    3.对于对象,==判断是否同一个对象;equals()默认也是比较是否同一个对象,但一般会重写,转而比较内容。
      

  3.   

    楼主问的应该是对于对象而言,==与equals()方法有何区别,如果是,下面是我的理解:
    就本质而言,==是一个逻辑运算符,判断两个值是否相等,而对于对象的引用来说,它的值就是它的指向;而equals()方法是一个普通的方法,它里面包含了自定义比较的成份,也就是说,你可以定义你自己的相等的标准,而不一定是比较引用的指向。例如:
    1. 对于Object类而言,,==与equals()是相同的,都是比较两个引用的值(即引用的指向)是否相同。
    源代码是:    public boolean equals(Object obj) {
    return (this == obj);
        }
    2. 而对于其他的类,如String类,==仍然是比较引用是否相同,而equals方法,在指向不同时,还会判断字符串的值是否相等。
    源代码是:    public boolean equals(Object anObject) {
    if (this == anObject) {
        return true;
    }
    if (anObject instanceof String) {
        String anotherString = (String)anObject;
        int n = count;
        if (n == anotherString.count) {
    char v1[] = value;
    char v2[] = anotherString.value;
    int i = offset;
    int j = anotherString.offset;
    while (n-- != 0) {
        if (v1[i++] != v2[j++])
    return false;
    }
    return true;
        }
    }
    return false;
        }
    就这么多,希望对你有帮助。
      

  4.   

    == 比较内存地址
    equal 比较内容你可以用个例子测试一下,运行下这个例子就知道了public class testEqual { public static void main(String[] args) {

    String s1 = new String("abcd");
    String s2 = new String("abcd");
    if(s1==s2)                 //判断地址是否相同,显然两个对象地址不同所以输出flase
    System.out.println(true);
    else
    System.out.println(false);

    if(s1.equals(s2)){
    System.out.println("true"); //判断内容是否相同,这里内容是一样的所以返回true
    }
    else
    System.out.println("false");

    }}
      

  5.   

    eqauls 与 = =之异同
    1)比较方式角度:
    = =是面向过程的操作符;equals是面向对象的操作符
    = =不属于任何类,equals则是任何类(在Java中)的一个方法;
    我们可以1)Primitive1 (基本类型)= = Primitive2(基本类型);
             2)Object Reference1(对象引用)= = Object Reference2(对象引用)
            3)Object Reference1 (对象引用) .equals(Object Reference2 (对象引用))
               这三种比较
               但却不能Primitive1 (基本类型).equals( Primitive2(基本类型));
     对于基本类型,没有面向对象中发送消息一说,自然也不会有
    方法成员。 2)比较目的角度:1)    如果要比较两个基本类型是否相等,请用= =;
    2)    如果要比较两个对象引用是否相等,请用= =;
    3)    如果要比较两个对象(逻辑上)是否一致,请用equals;
      

  6.   

    equals:比较对象的值是否相等
    ==:比较基本型别
      

  7.   

    “==”可以用于对象的比较,也可以用于基本类型的比较,而equals比较的是对象,要比较
    基本类型,可以将基本类型封装成对象,比如int可以用Integer对象。而“equals”主要
    比较对象的hashcode(),默认是对象的存储地址,如果自己重载hashcode就比较的是重载后的
    hashcode,当然equals方法也可以重载。可以添加其他的域来用于对象的判断,可以在equals
    中添加instanceof()方法等等。
      

  8.   

    当比较对象的时候:
    == 比较两个对象是否指向同一地址equals() 比较两个对象的内容是否相等
      

  9.   

    equals()比较的是地址里的值是否相等,==比较的是地址是否相同。
      

  10.   

    equals()比较的是地址里的值是否相等,==比较的是地址是否相同。
      

  11.   

    作符“==”用来比较两个操作元是否相等,这两个操作元既可以是基本类型,也可以是引用类型。当操作符“==”两边都是引用类型变量时,这两个引用变量必须都引用同一个对象,结果才是true。Object类的equals()方法的比较规则为:当参数obj引用的对象与当前对象为同一个对象时,就返回true,否则返回false。在JDK中有一些类覆盖了Object类的equals()方法,他们的比较规则为:如果两个对象的类型一致,并且内容一致,则返回true。
    这些类包括:java.io.File、java.util.Date、java.lang.String、包装类(如java.lang.Integer和java.lang.Double类)。
      

  12.   

    很简单:==是可直接对int 等基本类型进行操作的而==和equals()要想对非基本类型即类实例操作的话则在相应的类里必须要有对==和equals()方法
      

  13.   

    == 比较变量的值,当然首先要知道基本类型变量和引用类型变量的值是什么。
    equals是方法,比较什么东西看自己的实现了。
      

  14.   

    ==判断是否同一个对象,或者值,equals()默认也是比较是否同一个对象
      

  15.   

    ==就判断引用是否相同,equals默认是看对象是否相同,可以重写定义自己的相等规则
      

  16.   

    ==是比较内存地址是否相等的,equals是比较属性是否相等的,必要的时候可以重写
      

  17.   

    String中重写Equals方法的情况下可以用 ==
    也有种不用重新写的方法下也可以用==,此种方法是在程序中调用了intern() 即字符串扣留!