java中equals使用方法

如题所述

java中equals使用方法:

    equals 方法是String类从它的超类Object中继承的, 被用来检测两个对象是否相等,即两个对象的内容是否相等,区分大小写。

    对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。“==”比较两个变量本身的值,即两个对象在内存中的首地址。“equals()”比较字符串中所包含的内容是否相同。 例如:

    s1 = new String("abc");
    s2 = new String("abc");

    s1.equals(s2) 是 true

 

   3.对于非字符串变量来说,"=="和"equals"方法的作用是相同的都是用来比较其对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。

class A
{
      A obj1   =   new  A();
      A obj2   =   new  A();
}
    obj1.equals(obj2)是false

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-06-11
1. java中equals使用方法

equals:
操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同,且区分大小写

注: 通过查看源码更加清晰:

public boolean equals(Object anObject) {
//两个变量是否是对同一个对象的引用
*
==用于比较引用和比较基本数据类型时具有不同的功能
if (this == anObject) {
return true;
}
A instanceof B ,返回值为boolean类型,
* 用来判断A是否是B的实例对象或者B子类的实例对象。
* 如果是则返回true,否则返回false
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
2. 案例
equals():比较字符串中所包含的内容是否相同
//这个是内容明显相同
String a = new String("字符串1");
String b= new String("字符串1");
boolean c = a.equals(b);
System.out.println(c);

//内容不同
String a1 = new String("字符串1");
String b1= new String("字符串2");
boolean c2 = a1.equals(b1);
System.out.println(c2);

3."equals"方法的作用是用来比较其对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。
创建一个对象方便测试
class Demo
{

}
//"=="和"equals"方法的作用是相同的都是用来比较其对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。
public class TestDemo {

public static void main(String[] args) {

//实例化对象
Demo obj1 = new Demo();
Demo obj2 = new Demo ();
boolean d = obj1.equals(obj2);
System.out.println(d);
//扩展
//可以通过查看他们的地址值比较
System.out.println(obj1);
System.out.println(obj2);
//明显地址不一致 所以是false

}

}
第2个回答  2012-04-17
equals用于对象之间的比较,代表着不仅值要相等,而且地址也要相等。
String a="11"; String b="11"; 这时 这两个值是相等的。如果String a1 =new String("11");
String b = new String("11");这个时候,这两个值是不相等的。
第3个回答  2012-04-17
自定义对象,往往要覆盖equals方法,来判断两个对象是否“相等”
如两个学生对象,如果学号相等,就认为是同一个对象。
private int num; //学号
..........
public boolean equals(Student student2){
return this.num == student2.num;
}本回答被网友采纳
第4个回答  2012-04-17
一般用于字符串对象的比较。比较的是对象的值。

java中equals使用方法
Java中的equals方法用于比较两个对象的内容是否相等。默认情况下,equals方法比较的是对象的引用,也就是内存地址。但是,许多类已经重写了这个方法,使其比较的是对象的实际值。在使用时,需要注意对象是否重写了equals方法。如果没有重写,则需要自定义比较逻辑。详细解释:1. 基本用法与意义:在Java中,e...

equal在java中的用法
以下是几种常见的用法:1、对象的相等性比较:Java中的equals方法用于检查两个对象是否相等。这个方法是在Object类中定义的,被所有类继承。2、基本数据类型的相等性比较:在Java中,基本数据类型(如整数、浮点数、字符等)不能直接使用equals方法进行比较。3、字符串的相等性比较:Java中的字符串类型可以...

java中equals和==的使用有什么要注意的?
`equals`方法应该在比较前检查对象是否为`null`,避免`NullPointerException`。使用适当的数据类型。根据比较对象的类型选择正确的比较方式,确保代码的准确性和效率。综上,正确使用`equals`和`==`对于编写高质量的Java代码至关重要。确保遵循最佳实践,处理`null`值,以及在自定义类中适当重写`equals`和`...

如何用java代码实现字符串的比较?
System.out.println("两个字符串是不相等的");} } } 在这个例子中,equals()方法用于比较str1和str2。如果它们完全相同(包括大小写),那么这个方法会返回true,否则返回false。如果你希望在比较时忽略大小写,你可以使用equalsIgnoreCase()方法。例如:javapublic class Main { public static void main...

Java中equals()方法与==的区别
java System.out.println(str1.equals(str3)); \/\/ 输出:true 为了使 `==` 运算符能够比较字符串内容,可以使用字符串缓存(String intern)机制。`intern()` 方法会将字符串内容相同的实例引用到同一个字符串实例上,使得 `==` 运算符能够正确比较字符串内容。例如:java String str2 = "hello...

JAVA中equals的定义,用法,方法重写是怎么回事
这个函数的用法是:比较[调用这个方法的对象]和[方法传递进去的参数对象]是否相等。重写这个方法,意思是让你定义两个对象如何才算是相等。这样给了你极大的灵活性。因为比较两个对象是否相等是由你来定义的。这样你定义的新对象的比较也可以由你来定义。举个例子:假设1:现在你有一个clothes(衣服)类...

equals 的用法
equals 方法是 java.lang.Object 类的方法。有两种用法说明:(1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。“==”比较两个变量本身的值,即两个对象在内存中的首地址。“equals()”比较字符串中所包含的内容是否相同。比如:String s1,s2,s3 = "abc",...

equals()是什么意思?
equals()是Java中的一个方法,一般是用来比较两个对象是否相等。这个方法的返回值是一个布尔类型,如果两个对象相等,则返回true,否则返回false。通常情况下,我们使用equals()方法比较两个对象时,需要注意对象的类型和属性是否相同。需要注意的是,在Java语言中,equals()方法一般需要与hashCode()方法配合...

.equals是什么意思?
在Java中,一些类已经重载了.equals()方法,这些类中包括String、Integer、Boolean等。对于这些类的对象,我们不需要使用自己编写的equals方法来比较它们是否相等。这是因为这些类在实现时已经考虑到了对象值的比较。但是对于我们自己定义的类,如果我们想要将其对象用.equals()进行比较,我们就需要自己重写...

JAVA中字符s和equalsIgnor
在JAVA中,equals和equalsIgnoreCase是两个用于比较字符串的方法,它们的主要区别在于处理字符的大小写。equals方法默认考虑字符的大小写,只有当两个字符串完全匹配(包括大小写)时,才会返回true。其方法定义如下:public boolean equals(Object anObject)这个方法会检查传入的对象是否为null,并且表示与当前...

相似回答