服务器之家

服务器之家 > 正文

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

时间:2020-11-27 10:44     来源/作者:Java教程网

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

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

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

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

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

如下列程序所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class 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和str2是否相等?"+(str1==str2));
//将输出true
System.out.println("str1和str2是否相等?"+str1.equals(str2));
}
 
}

程序运行结果如图:

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

以上这篇Java中==符号与equals()的使用详解(测试两个变量是否相等)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

标签:

相关文章

热门资讯

2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
暖暖日本高清免费中文 暖暖在线观看免费完整版韩国
暖暖日本高清免费中文 暖暖在线观看免费完整版韩国 2021-05-08
返回顶部