java - 将构造函数与 Integer 一起使用

标签 java list object integer

我是 Java 新手,我有一些关于使用构造函数的问题。 在什么情况下我应该使用new Integer()陈述?看代码:

    Integer a = 129;//1
    Integer b = new Integer(129);//2
    List<Integer> list= new ArrayList<Integer>();
    list.add(new Integer(1));//3
    list.add(2);//4

哪一行是不良编程实践的示例?

最佳答案

使用 new Integer() 将保证您有一个新的 Integer 对象引用。

直接使用该值并不能保证这一点,因为自动装箱 int 到 Integer 可能不会执行该对象实例化。

我想说你只需要 new Integer(1) 在非常奇怪的边缘情况下,所以大多数时候我会说你永远不需要做 new Integer...

另请记住,在某些边缘情况下,自动装箱/拆箱可能会产生一些错误。

Integer x = null;
int y = x; // Null Pointer Exception

发生自动(取消)装箱的长时间迭代可能会产生未经训练的眼睛可能不会注意到的性能成本

关于java - 将构造函数与 Integer 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19037640/

相关文章:

javascript - 当我们把一个方法存入一个变量然后调用它的时候,为什么context对象变成了全局的window对象呢?

javascript - 如何使用可展开的 props 来检索 ReactJS 中的嵌套对象?

java - 在 React Native 中安装 Native 模块后应用程序无法构建?

list - 过滤 [Maybe a] 并丢弃 Nothing 值

javascript - Node.js -未捕获类型错误 : Cannot read property 'x' of undefined at object (ball

python - 跨 Pandas DataFrame 中多列的映射方法

python - 将列表中的每个第 N 个元素乘以 M

java - 向 Hazelcast 添加新的键/值对

java - 计算连续的奇数变化

java - Azure SDK for Java - 引发 InvalidKeyException 的示例程序