gpt4 book ai didi

java - 为什么允许将原始数据类型添加到 ArrayList?

转载 作者:搜寻专家 更新时间:2023-11-01 04:03:01 25 4
gpt4 key购买 nike

我知道可以将整数对象添加到 Integer 类型的 ArrayList 中。这对我来说很有意义。像这样:

ArrayList<Integer> list = new ArrayList<Integer>();
list.add(new Integer(3));

但为什么可以添加原始数据类型,如 int 而不是 Integer?像这样:

ArrayList<Integer> list = new ArrayList<Integer>();
list.add(3);

为什么允许这样做?

最佳答案

这叫做 autoboxing .对于具有相应基元的类(例如,Long -> longInteger -> int),Java 将为您处理转换。

需要注意的是这种行为带有一些暗角:

  1. 性能惩罚;
  2. 极端情况:当 null 被拆箱为原语时,将抛出 NullPointerException,这对于程序员来说可能是意想不到的,因为它看起来像是原语正在抛出异常(exception)。

关于java - 为什么允许将原始数据类型添加到 ArrayList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16637047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com