是否可以为整数数组中的单个元素指定一个“null”值?
例如:
int[] num = new int[3];
num[0] = 23;
num[1] = null;
num[2] = 12
当我尝试这个时,它给出了一个错误,即<代码>不兼容类型:
但是,当我在对象数组中尝试相同的方法时,我可以为数组中的单个元素指定一个“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);
}
}
对象数组中允许“null”,而int数组中不允许。为什么?这两种数组类型有什么区别?我以为Java中的所有数组都是对象类型。如果我错了,请纠正我。
int是一个基元类型,像布尔、字节、短、字符、长、浮点、双和不能为空。但是p是一个引用类型,可以为空。null意味着有一个引用,但不显示一个对象。
在int数组中,无论您是否赋值,所有元素都会隐化为0。这是因为数组是基元类型。
public class HelloWorld{
public static void main(String []args){
System.out.println("Hello World");
int [] a = new int[10];
for(int i=0; i<10; i++)
System.out.println(a[i]+"");
}
}
初始化Person对象时,Person不是基元类型。所以person可以为null,但是age不能为null,因为age是原始类型
原始Java整数不能是null
,但是包装原始int
的intger
类可以是null
。这里有一个选项可以考虑:
Integer[] num = new Integer[3];
num[0] = 23;
num[1] = null;
num[2] = 12;
Java中的装箱规则使int
和Integer
在大多数情况下可以互换使用变得相当容易。
问题内容: 一个int数组占用多少空间?或者一个int数组消耗多少空间(以字节为单位),看起来像这样: 内存分配语言是否特定? 谢谢你们 问题答案: 由于您添加了许多语言标签,因此我想为C#编写代码。在C#中,这取决于操作系统。 对于32位,每个都是4字节,另外4字节也用于引用对象,这使得4 * 4 + 4 = 20字节 对于64位,每个都是4字节,而8字节也用于引用该对象,这使得4 * 4 +
问题内容: 想要向现有数组添加或追加元素 现在我想用我发送的新值动态更新系列。 就像我发送3个更新系列 再次,如果我发送4更新系列作为 再次,如果我发送1个更新系列,依此类推 怎么做???? 我在其他函数中每5分钟生成一个整数,并希望发送以更新数组。 问题答案: 数组的长度在Java中是不可变的。这意味着一旦创建数组便无法更改其大小。如果使用2个元素初始化它,则其长度为2。但是,您可以使用其他集合
问题内容: 假设我有以下代码: 我可以手动调用下一个函数多次,以使2个数组按“相同名称”分组。 问题是我不知道变量值,在这种情况下为“ dinner”和“ lunch”,因此我想按名称自动对这个statEvents数组进行分组,所以当名称不同时,我会得到尽可能多的数组。 我该怎么办? 问题答案: 从Swift 4开始,此功能已添加到标准库中。您可以这样使用它: 斯威夫特3: 不幸的是,上面的函数复
我有一个表单,输入以填写客户数据,包括姓名和id 输入的定义通常如下: 当执行ajax调用时没有检索到数据,并且用户需要更改一些输入时,我的问题就出现了,如果需要启动事件,用户必须通过id输入字段更改数据并返回,这不是方法。 现在使用的是变通方法:向所有涉及的字段插入一个ajax调用。当任何输入启动事件时,在服务器端,我检查所有数据是否完整,是否已更改,以调用检索客户数据的服务... 但老实说,这
我有一个二维数组,其中最后的元素是空的。这样地: 现在我想删除空元素,并获得正确的新大小。长度 我试着这样做,但不起作用: 有什么好办法吗?
问题内容: 说我有阵列 数组的长度为20,但计数为0。如何获取计数? 问题答案: “计数”是什么意思?具有非零值的元素数量?您只需要数一下。 有 没有区别 数组和一个已之间 明确地 设置与零个值。例如,这些数组是无法区分的: Java中的数组始终具有固定大小-可通过字段访问。没有“当前使用的阵列数量”的概念。