常见类型默认值问题
遇到了个bug,搞了半天才发现是默认值问题,在此记录一下
基本数据类型:
类型 | Value |
---|---|
boolean | false |
int | 0 |
byte | (byte)0 |
char | ‘ \u0000′ |
short | (short)0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
String不是基本数据类型,它的默认值是 null
当变量作为作为类成员使用时,java才确保给定其初始值,防止程序运行时错误。但是这些初始值对你的程序来说是不正确的。所以必须明确指定初始值。然而以上所诉并不适用于“局部”变量(即:非某个类的字段)。因此在某个方法中定义:int i,
那么变量i可能得到的是任一值。不会被初始化为0。所以使用前先付一个适当的值。如果忘记了,java会在编译时返回一个错误。告诉你此变量没有初始化。在类中定义一个对象的引用时,如果没有给定初始化值,此引用会默认为null值。
也就是说在java中基本类型的默认值是0,引用类型会默认为null