Java 如何使以下字符串数组相等?
如何使if语句为真,以便执行指令Java 如何使以下字符串数组相等?,java,arrays,string,Java,Arrays,String,如何使if语句为真,以便执行指令 String[] tab1 = new String[]{"abc"} String[] tab2 = new String[]{new String("abc")} if(tab1 == tab2){ ... } 解释 如果两个指定的对象数组彼此相等,则java.util.Arrays.equalsObject[]a,Object[]a2方法返回true。如果两个数组包含相同数量的元素,则认为这两个数组相等
String[] tab1 = new String[]{"abc"}
String[] tab2 = new String[]{new String("abc")}
if(tab1 == tab2){
...
}
解释
如果两个指定的对象数组彼此相等,则java.util.Arrays.equalsObject[]a,Object[]a2方法返回true。如果两个数组包含相同数量的元素,则认为这两个数组相等,两个数组中所有对应的元素对都是相等的。如果e1==null,则两个对象e1和e2被视为相等?e2==null:e1.equals2。如果两个数组包含相同顺序的相同元素,则它们相等。如果两个数组引用都为null,则认为它们相等
方法的声明是
公共静态布尔等式对象[]a,对象[]a2
由于字符串在java中是对象,因此可以使用此方法比较两个数组。两个新对象永远不相等;因此,不能使两个新数组相等,因为在这两个定义中都显式创建了一个新数组对象
每次使用新关键字时,都会创建该类型的新实例
如果您想比较这两个数组的元素,那就另当别论了,为此,您首先必须获取有问题的元素,然后进行比较,在您的例子中,这看起来像:
iftab1[0]。等式TAB2[0]{
...
}
或者,您可以使用一些进行数组比较。要比较字符串,请使用str1.equalsstr2。请注意,您没有字符串-因此,请先了解如何从数组中获取字符串。您想知道如何比较两个字符串数组吗?或者您想知道如何使精确表达式tab1==tab2计算为true吗?
Arrays.equals(tab1, tab2);