[Java] 陣列的比較

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

java 2

而讓我們先看一下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」,會去比較是不是指向同一個物件,而不會去逐步比較兩個陣列的值,所以千萬不要搞混囉!

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments