Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java比较包含字符的数组_Java_Arrays - Fatal编程技术网

Java比较包含字符的数组

Java比较包含字符的数组,java,arrays,Java,Arrays,我要做的是比较数组的某些字符,然后返回false或true。我首先将一些字符串转换为数组,日期已经转换为字符串 char[] serialArray = SerialKey.toCharArray(); char[] macArray = MacAddress.toCharArray(); char[] dateArray = date.toCharArray(); 例如,我想比较serialArray[2]和dateArray[0],看看它们是否相同 但似乎

我要做的是比较数组的某些字符,然后返回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
而不是
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乐于帮助:)