Java比较包含字符的数组
我要做的是比较数组的某些字符,然后返回false或true。我首先将一些字符串转换为数组,日期已经转换为字符串Java比较包含字符的数组,java,arrays,Java,Arrays,我要做的是比较数组的某些字符,然后返回false或true。我首先将一些字符串转换为数组,日期已经转换为字符串 char[] serialArray = SerialKey.toCharArray(); char[] macArray = MacAddress.toCharArray(); char[] dateArray = date.toCharArray(); 例如,我想比较serialArray[2]和dateArray[0],看看它们是否相同 但似乎
char[] serialArray = SerialKey.toCharArray();
char[] macArray = MacAddress.toCharArray();
char[] dateArray = date.toCharArray();
例如,我想比较serialArray[2]和dateArray[0],看看它们是否相同
但似乎
if(serialArray[2].equals(dateArray[0]))
{
}
不行。我得到无法取消引用的字符
谢谢因为它们的类型是
char
而不是String
if(serialArray[2] == dateArray[0] )
{
}
您可能会混淆字符和字符串。因为它们的类型是
char
而不是String
if(serialArray[2] == dateArray[0] )
{
}
您可能会混淆字符和字符串。对于字符,相等是通过
=
运算符完成的。字符串是对象,因此有equals
方法
if(serialArray[2] == dateArray[0])
{
}
如果创建字符
对象,则该对象将具有等于
方法,但这是不必要的:
if(new Character(serialArray[2]).equals(new Character(dateArray[0])))
{
}
对于字符,相等是通过
==
运算符完成的。字符串是对象,因此有equals
方法
if(serialArray[2] == dateArray[0])
{
}
如果创建字符
对象,则该对象将具有等于
方法,但这是不必要的:
if(new Character(serialArray[2]).equals(new Character(dateArray[0])))
{
}
char[]定义了一个“char”数组,它是基元类型而不是对象类型,因此您必须使用“==”来比较它。如果要使用“.equals()”进行比较,请将数组声明为
Character[]
char[]定义一个“char”数组,它是基本类型而不是对象类型,因此必须使用“==”进行比较。如果要使用“.equals()”进行比较,请将数组声明为Character[]
任何不想使用“==”的特定原因?任何不想使用“==”的特定原因?@TerisL乐于帮助:)@TerisL乐于帮助:)