java学习笔记equals()和==比较

Java中比较两个变量是否相等有equals()方法和==运算符两种:

使用==运算符判断时,如果是基本数据类型变量,则直接判断变量值是否相等,如果是引用变量则判断是否指向同一个对象;

equals()属于Object对象,根据Oracle的帮助文档,equals()用于比较两个对象是否相等;

比较引用变量的值时它们没什么区别;

String对象本身已经重写了equals()方法,比较两个String对象是否相等的标准是:主要两个字符串对象所包含的字符序列相同,返回true,而对于==运算符则不变,还是比较两个对象是否是同一个对象。

public boolean equals(Object obj)
 1 public class CompareTest {
 2     public static void main(String args[]){
 3         float f = 52.0f;
 4         int i = 52;
 5         System.out.println("f和i是否相等?"+(f==i));
 6         String s1 = new String ("Hello");
 7         String s2 = new String ("Hello");
 8         System.out.println("s1和s2是否相等?"+(s1==s2));
 9         System.out.println("s1和s2是否相等?"+(s1.equals(s2)));
10         String s3 = "hello";
11         String s4 = "hello";
12         System.out.println("s1和s2是否相等?"+(s3==s4));
13         System.out.println("s1和s2是否相等?"+(s3.equals(s4)));
14 
15     }
16 }

输出:

f和i是否相等?true
s1和s2是否相等?false
s1和s2是否相等?true
s1和s2是否相等?true
s1和s2是否相等?true

 

posted on 2016-04-29 15:22  wbzhou1992  阅读(183)  评论(0)    收藏  举报

导航