转自:https://segmentfault.com/q/1010000000711083
除非必要,不然一律使用基本类型,在遇到需要用到包装类的情况再去转换。原因如下:
- 避免类型转换带来的问题(特别是有些隐式转换增加了排除问题的难度)。比如转化后精读缺少,空指针等问题
- 基本类型的存放在栈中,读写速度快。虽然这点速度很不明显
- 基本类型是通过值传递。好处是通过参数传递的时候,在方法内部改写了参数的状态值,不会影响到外部的参数。而且在并发中也比较好控制
另附内置数据类型与包装类(String也是包装类,不是基本数据类型):
包装类 | 基本数据类型 |
---|---|
Boolean | boolean |
Byte | byte |
Short | short |
Integer | int |
Long | long |
Character | char |
Float | float |
Double | double |