在Java這個程式語言中,若要比較兩個陣列的內容是否相等,要怎麼比較呢?其實在Arrays這個類別中,Java就已經幫你實作了,只要再呼叫Arrays這個類別中的euqals這個method就可以囉!

而讓我們先看一下equals這個method吧!

static boolean equals(boolean[] a, boolean[] a2)
static boolean equals(byte[] a, byte[] a2)
static boolean equals(char[] a, char[] a2)
static boolean equals(double[] a, double[] a2)
static boolean equals(float[] a, float[] a2)
static boolean equals(int[] a, int[] a2)
static boolean equals(long[] a, long[] a2)
static boolean equals(Object[] a, Object[] a2)
static boolean equals(short[] a, short[] a2)


說了老半天,似乎還是沒說到如何比較兩個陣列是否相等?!我們就用一段程式碼來說明吧!

char []passwordArray = {'H','I'};
char []passwordConfirmArray= {'H','I'};
compareResult = Arrays.equals(passwordArray,passwordConfirmArray);

 

由上述程式碼,我們可很清楚地知道,只要使用「Arrays.equals(陣列1,陣列2)」就可以進行兩個陣列的比較囉!需先「import java.util.Arrays;」

 

至於為什麼不能用「passwordArray.equals(passwordConfirmArray);」呢?因為用這樣的話,等於寫「passwordArray == passwordConfirmArray」,會去比較是不是指向同一個物件,而不會去逐步比較兩個陣列的值,所以千萬不要搞混囉!

Written by 

城市裡的小小迷僮工程師,喜歡用鍵盤記錄個人生活的點滴,身邊的人事物都我的靈感,用心踏出每個腳步,用文字灌溉《海芋小站》,用專業解決問題。

發表迴響