好的,我想做的是比较数组的某些字符并返回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不能被解除引用。
谢谢
答案 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[]
。