Java 比较两个字符串数组

Java 比较两个字符串数组,java,arrays,Java,Arrays,我是Java的初学者。我需要比较两个字符串数组,并找出第一个数组中的任何值是否与第二个数组中的任何值匹配 这是我的函数,它不能按预期工作 public static boolean CheckStatAppearinLeftAndRight1(String[] array1, String[] array2) { boolean b = false; for (int i = 0; i < array2.length; i++) { for (in

我是Java的初学者。我需要比较两个字符串数组,并找出第一个数组中的任何值是否与第二个数组中的任何值匹配

这是我的函数,它不能按预期工作

public static boolean CheckStatAppearinLeftAndRight1(String[] array1, String[] array2)
{
    boolean b = false;
    for (int i = 0; i < array2.length; i++) 
    {
        for (int a = 0; a < array1.length; a++)
        {
            if (array2[i] == array1[a])
            {
                b = true;
                break;
            }
            else
            {
                b = false;
            }
        }
   }
   return b;
}  
public静态布尔校验staptAppearinleftandRight1(字符串[]array1,字符串[]array2)
{
布尔b=假;
for(int i=0;i
有人能在这里指出这个问题吗

if (array2[i] == array1[a])
应该是

if ((array2[i]).equals(array1[a]))
试试>>>

使用
array2[i].equals(array1[i])
而不是使用==运算符。 ==运算符比较两个引用,并将为false。 equals()方法已在类
String
中重写,该类匹配两个不同字符串对象的确切字符。

布尔b=false;
    boolean b = false;
    for (int i = 0; i < array2.length; i++) 
    {

        for (int a = 0; a < array1.length; a++)
        {

            if (array2[i].equals(array1[a]))
            {
                b = true;
                break;
            }
            else
            {
                b = false;

            }
        }
        if(b)
            return b;
    }
}  
for(int i=0;i
当开发人员将字符串与
==
进行比较时,他喊道:Dignorance不是一个错误;),我相信这是每个人都会犯的常见错误。在Java中,您不会将字符串与
==
进行比较;使用
.equals()
.compareTo()
是否有什么大的原因让你用括号括住
数组2[i]
?只需B弄清楚equals方法的应用
    boolean b = false;
    for (int i = 0; i < array2.length; i++) 
    {

        for (int a = 0; a < array1.length; a++)
        {

            if (array2[i].equals(array1[a]))
            {
                b = true;
                break;
            }
            else
            {
                b = false;

            }
        }
        if(b)
            return b;
    }
}