我知道如果是原始类型数组,比如int,会是0,但是作为对象,比如String或者自定义类,还是0吗?空值?要不然是啥?
问问题
93 次
4 回答
10
它始终是元素类型的默认值——null
对于任何类类型,0 表示数字类型,'\0'
forchar
和false
for boolean
。(NULL
在Java中不存在,0对于引用来说是一个无意义的值。它可能是内存中的物理表示,但它本身并不是一个引用值。)
请参阅JLS 的第 15.10.1 节了解数组创建的工作原理,并参阅第 4.12.5节了解有关不同类型的默认值的更明确的详细信息。
于 2012-09-30T22:57:00.830 回答
6
对象数组的元素被初始化为null
。像馅饼一样简单。
于 2012-09-30T22:57:06.207 回答
3
对对象的任何引用都被初始化为null
。在这里,您可以找到 Java 如何初始化其原始数据类型(包括对对象的引用)。
回顾一下:
Data Type Default Value (for fields)
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char '\u0000'
any object null
boolean false
于 2012-09-30T23:00:39.670 回答
0
为了帮助您了解默认类型的原则,请考虑一下对象的决定性默认值是什么?
- 对于int任何数字都是有意义的,比如0
- 对于布尔值,任何逻辑值都是有意义的,例如false
- 对于char任何符号都有意义,例如'\0'
- ...
此类型存在明确范围的有效值(例如 {false, true})。所以任何值都可以用作默认值。
对于对象,没有明确的有效值范围。对象可以保存任何成员变量或提供一些方法,但对象没有特定的“值”。
于 2012-10-01T00:04:24.873 回答