对象或基元类型

Joh*_*ohn 5 java autoboxing

有人可以向我解释使用Integer,Boolean等代替JAVA中的原始类型吗?

我似乎无法掌握他们提供的优势.它们似乎会产生处理空值的不必要问题.

谢谢!

tan*_*ens 8

Boolean,Integer,Long,...是对象.您可以在不能使用原始类型的地方使用它们,例如

  • 将它们存储在类似于的集合中 Map
  • 使用它们作为模板参数
  • 为他们分配一个null价值
  • 以更一般的方式使用它们(例如Longas Number)

例子:

new ArrayList<Integer>();
Long id = null;
Number num = new Long( 3 );
Run Code Online (Sandbox Code Playgroud)