==和.equals() 的区别

== 和 .equals() 的区别经常混淆不少的程序员。
查资料以后才发现了== 是比较两个对象的参考值但是e.equals() 是比较连个对象的意义或者内容。
简单的说 == 是一种表面比较,.equals()深得比较。

[code="java"][/code]

public class TestEquals {

public static void main(String[]args){
TestEquals test = new TestEquals();
test.f();
}
public void f(){

String str1 = "abcd";
String str2 = "abcd";
String str3 = new String("abcd");
if(str1 == str2){
System.out.println("== >> OK啦!");
}else{System.out.println("== >> 不OK啦!");}
if(str1.equals(str2)){
System.out.println(".equals>>> OK啦!");
}else{System.out.println(".equals>>> 不OK啦!");}
if(str2 == str3){
System.out.println("== >> OK啦!");
}else{System.out.println("== >> 不OK啦!");}
if(str2.equals(str3)){
System.out.println(".equals>>> OK啦!");
}else{System.out.println(".equals>>> 不OK啦!");}
}
}

[quote][/quote]

输出结构:

== >> OK啦!
.equals>>> OK啦!
== >> 不OK啦!
.equals>>> OK啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值