Java整数类型常量声明 – 原语还是对象?


Java中,对象方式声明的int常量的好处是什么:

public final static Integer SOME_CONSTANT = Integer.valueOf(99);

而不是经典

public final static int SOME_CONSTANT = 99;

我知道对象和基元之间的基本区别,也是自动装箱.但是我在公司的代码中看到了这个声明,我想知道,将整数常量声明为对象有什么特别的原因吗?

最佳答案 这取决于您打算如何使用常量.如果你有一个需要Integer的API,那么因为自动装箱,使用int形式会有很小的性能损失.

如果你只需要原语,整数的拆箱不是很昂贵但很容易避免.

另请注意

Integer SOME_CONSTANT = Integer.valueOf(99);

与…完全相同

Integer SOME_CONSTANT = 99;

* .valueOf()方法添加了API,为编译器提供了一种自动框原语的通用方法.

点赞