如何从数组中取出一个对象并在其上使用 instanceof?
How do you take an object out of array and use instanceof on it?
我正在尝试使以下代码或类似的代码起作用:
static String[][] arr = new String[4][4];
static int[][] arr2 = new int[4][4];
for(int i = 0; i < arr.length; i++){
for (int j = 0; j < arr[0].length; j++) {
arr[i][j] = "1";
arr2[i][j] = Integer.parseInt(arr[i][j]);
if(arr2[i][j] instanceof int){
System.out.println("Works");
}
}
}
相反,IDE 将其标记为红色并给出错误 "Inconvertible types; cannot cast int to int"。
有人可以帮忙吗?
根据您提供的有限信息。
您必须将每个显示 int
的地方更改为 Integer
,因为 instanceof
无法检查原始类型。您的代码将如下所示:
static String[][] arr = new String[4][4];
static Integer[][] arr2 = new Integer[4][4];
for(int i = 0; i < arr.length; i++){
for (int j = 0; j < arr[0].length; j++) {
arr[i][j] = "1";
arr2[i][j] = Integer.parseInt(arr[i][j]);
if(arr2[i][j] instanceof Integer){
System.out.println("Works");
}
}
}
我正在尝试使以下代码或类似的代码起作用:
static String[][] arr = new String[4][4];
static int[][] arr2 = new int[4][4];
for(int i = 0; i < arr.length; i++){
for (int j = 0; j < arr[0].length; j++) {
arr[i][j] = "1";
arr2[i][j] = Integer.parseInt(arr[i][j]);
if(arr2[i][j] instanceof int){
System.out.println("Works");
}
}
}
相反,IDE 将其标记为红色并给出错误 "Inconvertible types; cannot cast int to int"。
有人可以帮忙吗?
根据您提供的有限信息。
您必须将每个显示 int
的地方更改为 Integer
,因为 instanceof
无法检查原始类型。您的代码将如下所示:
static String[][] arr = new String[4][4];
static Integer[][] arr2 = new Integer[4][4];
for(int i = 0; i < arr.length; i++){
for (int j = 0; j < arr[0].length; j++) {
arr[i][j] = "1";
arr2[i][j] = Integer.parseInt(arr[i][j]);
if(arr2[i][j] instanceof Integer){
System.out.println("Works");
}
}
}