关于equal和==的区别

equal和==的区别,新人小白第一次写博客

equal和==的区别

“==" :在基本数据类型中使用,则直接进行数值比较,如果在Sring类对象上使用 ”= =“那么比较的不再是内容,而是字符串的内存地址。

equal : equal不能用于基本类,equals()是由String提供的一个方法,专门用于数值比较。

代码实现

代码片.

public class Test{
	public static void main(String[] args) {
		String str = "abc";//直接赋值定义一个字符串
		String str1 = new  String("abc");//开辟一个堆栈空间,构造方法定义字符串
		System.out.println(str1.equals(str));//字符串内容的比较,输出true
		System.out.println(str==str1);//字符串地址的比较,输出false
	}
}

总结

创建一个对象的时候开辟了一个新的地址空间,即内存地址。导致地址值不同。用“= =”比较时,比较的是地址值,即使对象的值相等,但是他们的地址不同,所以==的结果为false。但 equal比较的是内容,所以输出true。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值