无效的代码
这段代码应该打印'if if'但是没有,我不知道它有什么问题。
doublesArray[0] = 3;
doublesArray[1] = 3;
doublesArray[2] = 3;
doublesArray[3] = 0;
int[] temp6 = {3,3,3,0};
//length is 4 for both arrays
if(doublesArray.equals(temp6))
System.out.println("Inside if");
这些是显示应该打印的内容
int[] temp6 = {3,3,3,0};
doublesArray[0] = 3;
doublesArray[1] = 3;
doublesArray[2] = 3;
doublesArray[3] = 0;
//length is 4 for both arrays
System.out.println("temp6 " + temp6[0] + " " + temp6[1] + " " + temp6[2] + " " + temp6[3]);
System.out.println("doublesArray " + doublesArray[0] + " " + doublesArray[1] + " " +
doublesArray[2] + " " + doublesArray[3]);
System.out.println("This should be true: ");
System.out.println("doublesArray.equals(temp6) = " + doublesArray.equals(temp6) + "\n");
//testing
if(doublesArray[0] == temp6[0])
System.out.println("correct");
if(doublesArray[1] == temp6[1])
System.out.println("correct");
if(doublesArray[2] == temp6[2])
System.out.println("correct");
if(doublesArray[3] == temp6[3])
System.out.println("correct");
//testing with numbers
System.out.println(" ");
if(doublesArray[0] == 3)
System.out.println("CORRECT");
if(doublesArray[1] == 3)
System.out.println("CORRECT");
if(doublesArray[2] == 3)
System.out.println("CORRECT");
if(doublesArray[3] == 0)
System.out.println("CORRECT");
这些是我得到的结果,应该表明doublesArray.equals(temp6)= true
temp6 3 3 3 0
doublesArray 3 3 3 0
This should be true:
doublesArray.equals(temp6) = false
correct
correct
correct
correct
CORRECT
CORRECT
CORRECT
CORRECT
感谢那些能够提供帮助的人。
答案 0 :(得分:4)
doublesArray.equals(temp6)与array1 == array2相同,即它是同一个数组。
Arrays.equals(array1,array2)比较数组的内容。
public static void main(String[] args) {
int[] doublesArray = new int[4];
doublesArray[0] = 3;
doublesArray[1] = 3;
doublesArray[2] = 3;
doublesArray[3] = 0;
int[] temp6 = { 3, 3, 3, 0 };
// length is 4 for both arrays
if (Arrays.equals(temp6, doublesArray)) {
System.out.println("Inside if");
}
}
<强>输出强>
Inside if
答案 1 :(得分:2)
Arrays.equals(a1, a2)
比较你想要使用的两个数组的内容。
a1.equals(a2)
比较a1和a2的引用,它与a1和a2指向内存中相同位置时的基本相同
答案 2 :(得分:0)
回答自己的问题,这样我的观点就会减少,其他人会得到更多 我认为doublesArray.equals(temp6)应该可以工作,但不是
Arrays.equals(temp6,doublesArray)有效。
但不要为什么doublesArray.equals(temp6)如果不起作用则不会出错。