java equals函數(shù)用法詳解
更新時間:2012年11月30日 10:42:14 投稿:whsnow
java 中equals函數(shù)的使用方法是廣大java愛好者所關心的一個話題,本文將詳細介紹其使用方法,需要了解的朋友可以參考下
equals函數(shù)在基類object中已經(jīng)定義,源碼如下
復制代碼 代碼如下:
public boolean equals(Object obj) {
return (this == obj);
}
從源碼中可以看出默認的equals()方法與“==”是一致的,都是比較的對象的引用,而非對象值(這里與我們常識中equals()用于對象的比較是相餑的,原因是java中的大多數(shù)類都重寫了equals()方法,下面已String類舉例,String類equals()方法源碼如下:)
[java]
復制代碼 代碼如下:
/** The value is used for character storage. */
private final char value[];
/** The offset is the first index of the storage that is used. */
private final int offset;
/** The count is the number of characters in the String. */
private final int count;
[java] view plaincopyprint?
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = count;
if (n == anotherString.count) {
char v1[] = value;
char v2[] = anotherString.value;
int i = offset;
int j = anotherString.offset;
while (n-- != 0) {
if (v1[i++] != v2[j++])
return false;
}
return true;
}
} //www.software8.co
return false;
}
String類的equals()非常簡單,只是將String類轉換為字符數(shù)組,逐位比較。
相關文章
Spring HandlerInterceptor實現(xiàn)原理代碼解析
這篇文章主要介紹了Spring HandlerInterceptor實現(xiàn)原理代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-10-10
Java根據(jù)實體生成SQL數(shù)據(jù)庫表的示例代碼
這篇文章主要來和大家分享一個Java實現(xiàn)根據(jù)實體生成SQL數(shù)據(jù)庫表的代碼,文中的實現(xiàn)代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2023-07-07
SpringBoot2.1.3修改tomcat參數(shù)支持請求特殊符號問題
最近遇到一個問題,比如GET請求中,key,value中帶有特殊符號,請求會報錯。接下來通過本文給大家分享解決SpringBoot2.1.3修改tomcat參數(shù)支持請求特殊符號 ,需要的朋友可以參考下2019-05-05
Java數(shù)據(jù)結構之哈夫曼樹概述及實現(xiàn)
文中詳細講了關于Java哈夫曼樹的概述以及用Java實現(xiàn)的方法,對各位正在學習java數(shù)據(jù)結構的小伙伴們有很大的幫助喲,需要的朋友可以參考下2021-05-05

