本文介紹了為什么這兩個(gè)數(shù)組不相等?的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
public static void main(String[] args)
{
char [] d = {'a','b','c','d'};
char [] e = {'d','c','b','a'};
Arrays.sort(d);
Arrays.sort(e);
System.out.println(e); //console : abcd
System.out.println(d); //console : abcd
System.out.println(d.equals(e)); //console : false
}
為什么數(shù)組不相等?我可能錯(cuò)過了什么,但這讓我抓狂。結(jié)果不是應(yīng)該是真的嗎?是的,我已經(jīng)導(dǎo)入了java.util.Array。
推薦答案
結(jié)果不應(yīng)該是真的嗎?
不。您正在對(duì)兩個(gè)不同的數(shù)組引用調(diào)用equals
。數(shù)組不覆蓋equals
,因此您可以獲得引用相等。引用不相等,因此返回FALSE…
若要比較數(shù)組中的值,請(qǐng)使用Arrays.equals(char[], char[])
。
System.out.println(Arrays.equals(d, e));
這篇關(guān)于為什么這兩個(gè)數(shù)組不相等?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,