Java比较包含字符的数组

时间:2013-12-13 11:10:06

标签: java arrays

好的,我想做的是比较数组的某些字符并返回false或true。我首先将一些字符串转换为数组,日期已经转换为字符串。

    char[] serialArray = SerialKey.toCharArray();

    char[] macArray = MacAddress.toCharArray();

    char[] dateArray = date.toCharArray();

例如,我想将serialArray [2]与dateArray [0]进行比较,看看它们是否相同。

但似乎

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

    }

不起作用。我得到的char不能被解除引用。

谢谢

3 个答案:

答案 0 :(得分:2)

由于其类型为char而非String

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

    }

你可能会对char和String感到困惑。

答案 1 :(得分:2)

对于字符,通过==运算符完成相等。字符串是对象,因此使用equals方法。

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

}

如果你创建一个Character对象,那将有一个equals方法,但这是不必要的:

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

答案 2 :(得分:0)

char []定义了一个'char'数组,它是原始类型而不是Object类型,因此你必须使用'=='来比较它。如果您想使用'.equals()'进行比较,请将您的数组声明为Character[]