阿里Java学习路线:阶段 1:Java语言基础-Java面向对象编程:第10章: String类特点分析:课时43:字符串比较

下面首先来回顾一下,如果说现在要想判断两个int型变量是否相等,那么肯定使用“==”来完成,这个是由程序直接提供的相等的运算符。
范例:进行“==”比较

public class StringDemo {
	public static void main(String[] args) {
		int x = 10 ;
		int y = 10 ;
		System.out.println(x == y) ;
	}
}

但是String类实际上也牵扯到一个相等的判断问题,但是对于String类相等的判断也可以使用“==”,只不过判断的不准确而已,下面通过代码来观察。
范例:实现字符串的相等判断

public class StringDemo {
	public static void main(String[] args) {
		String strA = "mldn" ;
		String strB = new String("mldn") ;
		System.out.println(strA == strB) ; // false
	}
}

此时的比较并没有成功,所以发现虽然两个字符串对象的内容是相同的,但是“==”也无法得到准确的相等判断,这种情况下如果要想实现准确的字符串相等判断,那么可以使用String类中所提供的一个比较方法:
字符串比较(有变形):public boolean equals(String str);
范例:利用equals()实现字符串比较

public class StringDemo {
	public static void main(String[] args) {
		String strA = "mldn" ;
		String strB = new String("mldn") ;
		System.out.println(strA.equals(strB)) ; // true
	}
}

面试题:请解释String比较中“==”与equals区别?
“==”:进行的是数值比较,如果用于对象比较上比较的是两个内存的地址数值;
equals():是类所提供的一个比较方法,可以直接进行字符串内容的判断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值