是否可以将“null”值分配给整数数组内的单个元素?
例如:
int[] num = new int[3];
num[0] = 23;
num[1] = null;
num[2] = 12
当我尝试这个时,它给出了一个错误。 incompatible types: <nulltype> cannot be converted to int
但是当我在对象数组中尝试相同的操作时,我可以将“null”值分配给数组内的单个元素。
下面是代码:
public class Person {
private String name;
private int age;
public Person(String n, int a){
name = n;
age = a;
}
public static void main(String[] args) {
Person[] p = new Person[3];
p[0] = new Person("John", 17);
p[1] = null;
p[2] = new Person("Mark", 18);
}
}
Object 数组中允许“null”,而 int 数组则不允许。这是为什么?这两种数组类型有什么区别?我认为Java中的所有数组都是对象类型。如果我这里错了,请纠正我。
最佳答案
原始 Java 整数不能为 null
,但包装原始 int
的 Integer
类可以为 null
>。这是一个值得考虑的选项:
Integer[] num = new Integer[3];
num[0] = 23;
num[1] = null;
num[2] = 12;
大多数时候,Java 中的装箱规则使得 int
和 Integer
可以很容易地互换使用。
关于java - 如何在 Java 中将 "null"值分配给 int[] 数组中的单个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53202284/