栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java判断String字符串是否相等时容易出现的问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java判断String字符串是否相等时容易出现的问题

在程序设计中,我们经常需要判断字符串是否相等,如if(a==b),但在java中,a和b两个字符串值相等,但有时会判断出不相等的情况。

例如:

// An highlighted block
String a = "Joker";
String b = "Joker";
if (a == b) {
	System.out.println("相等");
}else {
	System.out.println("不相等");

运行结果为:相等

因为相同的字符串“Joker”在内存中只会存一份,所以a和b为同一个对象。而另一种情况:

// An highlighted block
String a = new String("Joker");
String b = new String("Joker");
if (a == b) {
	System.out.println("相等");
}else {
	System.out.println("不相等");
}

运行结果为:不相等
此时因为a和b是两个不同的对象,在用Scanner类获取输入并判断字符是否相等时,也会出现这种不相等的情况。

为避免这种情况,在java中判断字符串是否相等一般用equals()方法
将上述代码改为如下:

// An highlighted block
String a = new String("Joker");
String b = new String("Joker");
if (a .equals(b)) {
	System.out.println("相等");
}else {
	System.out.println("不相等");
}

运行结果为:相等

参考https://blog.csdn.net/chtnj/article/details/7909720

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/397240.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号