2013-12-13 138 views
0

好吧,我想要做的是比較數組的某些字符並返回false或true。我首先將一些字符串轉換爲數組,日期已經轉換爲字符串。Java比較包含字符的數組

char[] serialArray = SerialKey.toCharArray(); 

    char[] macArray = MacAddress.toCharArray(); 

    char[] dateArray = date.toCharArray(); 

例如,我想比較serialArray [2]和dateArray [0],看看它們是否相同。

但似乎

if(serialArray[2].equals(dateArray[0])) 
    { 

    } 

將無法​​正常工作。我得到的char不能被解除引用。

謝謝

+0

你不想使用「==」的任何具體原因? – TheLostMind

回答

2

對於字符,通過==運算符完成相等操作。字符串是對象,所以有equals方法。

if(serialArray[2] == dateArray[0]) 
{ 

} 

如果創建Character對象,這將有一個equals方法,但它是不必要的:

if(new Character(serialArray[2]).equals(new Character(dateArray[0]))) 
{ 
} 
2

由於它們的類型是char而不是String

if(serialArray[2] == dateArray[0]) 
    { 

    } 

你可能混淆的字符和字符串。

+2

我得休息一下,非常感謝 – LefterisL

+0

@TerisL很高興幫助:) –

0

炭[]定義「焦炭」,這是原語類型,而不是對象類型的陣列,因此你必須使用'=='來比較它。如果您想使用'.equals()'進行比較,請將您的數組聲明爲Character[]