本帖最后由 Nick_KJ 于 2015-4-7 19:31 编辑
今天敲代码,无意中好奇char[]类型数组的初始化值是什么,遂检验了一下。
结论如下,先看代码:
- class InitializationDemo
- {
- public static void main(String[] args)
- {
- char[] ch = new char[6];
- sop(ch[1]=='\u0000');
- String[] st = new String[6];
- sop(st[1]==null);
- }
- public static void sop(Object obj)
- {
- System.out.println(obj);
- }
- }
复制代码
结果是:
true
true
除了基本数据类型外,其他建立的对象(如通过new建立的各种对象),初始化默认值是 :null 。String并不是基本数据类型,所以他的初始化类型值为 null。
注意:如果你把 char[0] == null ;系统编译会报错“不可比较类型:char 和<空值>。可我们明明知道,此时 char[0]此时还是为”空值“(不是空格,但不是严格意义上的null)。这就涉及java基本数据类型的默认值。
我总结如下:
数据类型 默认值
byte 0
shot 0
int 0
long 0
float 0.0f
double 0.0d
char '\u0000'
boolean false
希望可以给大家带来一个参考。
|
|