Java中==符号与equals()的使用详解(测试两个变量是否相等)

网友投稿 493 2023-05-03


Java中==符号与equals()的使用详解(测试两个变量是否相等)

java 程序中测试两个变量是否相等有两种方式:一种是利用 == 运算符,另一种是利用equals()方法。

当使用 == 来判断两个变量是否相等时,如果两个变量是基本类型变量,且都是数值类型(不一定要求数据类型严格相同),则只要两个变量的值相等,就返回true。

但是对于两个引用类型变量,只有它们指向同一个对象时, == 判断才会返回true。 == 不可用于比较类型上没有父子关系的两个对象。

很多书上说equals()方法是判断两个对象的值相等。这种说法不准确。实际上equals()方法是Object类提供的一个实例方法,因此所有的引用变量都可以调用该方法来判断是否与其它引用变量相等。但是使用这个方法判断两个对象相等的标准与使用 == 运算符没有区别,同样要求两个变量指向同一个对象才会返回true。因此这个Object类提供的equals()方法没有太大的实际意义,如果希望采用自定义的相等标准,则可采用重写equals方法来实现。

Strihttp://ng已经重写了Object的equals()方法,String 的equals()方法判断两个字符串相等的标准是:只要两个字符串所包含的字符序列相同,通过equals()比较将返回true,否则返回 false。

如下列程序所示:

public ceLIdoABlass EqualTest {

public static void main(String[] args) {

int num1 = 65;

float num2 = 65.0f;

//将输出true

System.out.println("65和65.0f是否相等?"+(num1==num2));

char ch = 'A';

//将输出true

System.out.println("65和‘A'是否相等?"+(num1==ch));

String str1 = new String("hello");

String str2 = new String("hello");

//将输出false

System.out.println("str1和str2http://是否相等?"+(str1==str2));

//将输出true

System.out.println("str1和str2是否相等?"+str1.equals(str2));

}

}

程序运行结果如图:


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java中ArrayList的removeAll方法详解
下一篇:彻底理解Java 中的ThreadLocal
相关文章

 发表评论

暂时没有评论,来抢沙发吧~