任何人都可以告诉我这个方法有什么问题,为什么它会给出nullpointerException?
public boolean check(){
Scanner scan = new Scanner(System.in);
int[] arr1 = new int []{1,2,3};
int[] arr2 = new int[]{};
for(int i = 0;i<arr1.length;i++)
{
System.out.println("Enter numbers to check");
arr2[i] = scan.nextInt();
}
if(arr1 == arr2)
return true;
return false;
}
Run Code Online (Sandbox Code Playgroud)
你没有分配足够的内存arr2.在这种情况下,arr2初始化为0的长度.
你的第3行应该是这样的:
int[] arr2 = new int[arr1.length];
Run Code Online (Sandbox Code Playgroud)
另外,if(arr1 == arr2)是不是比较两个数组是否有相同的元素的正确方法.
相反,您可以使用java.util.Arrays.equals()检查两个数组是否相等.
| 归档时间: |
|
| 查看次数: |
1756 次 |
| 最近记录: |