2013-12-13 92 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[]