当前位置: 首页 > 面试题库 >

为什么不能将“ int”作为ArrayList的类型?

颜河
2023-03-14
问题内容

我想声明一个ArrayListtype int

为什么以下原因给我一个错误:

ArrayList<int> list1 = new ArrayList<int>();

但是以下工作原理:

ArrayList<Integer> list1 = new ArrayList<Integer>();


问题答案:

ArrayList只能引用类型,不能引用基元。Integer是一类,而不是原始的。

声明时ArrayList<Integer> list1 = new ArrayList<Integer>(),您将创建一个ArrayList将存储Integer类型而不是int原始类型的。

如果您想了解基本类型和引用类型之间的区别,请查看http://pages.cs.wisc.edu/~hasti/cs302/examples/primitiveVsRef.html



 类似资料:
  • 问题内容: 有人可以向我解释为什么以下代码示例中标记的行不起作用吗? 具体来说,当我们说类型为时,这并不表示它的每个元素都是的实例吗?如果是这样,那么它是什么铸造的问题,如果我们都可以投射单个实例来? 谢谢。 问题答案: 问题是这样的: 如果对数组执行相同的操作,则在运行时会在第4行获得ArrayStoreException。对于泛型集合,已决定在编译时避免这种情况。

  • 问题内容: Java中的所有数字都应为int类型。以下行在Java> 1.5中是合法的 同样的机制去和实例。但是龙的作品完全不同。以下代码给出了编译时错误 Long对长类型使用自动装箱方法,因此 我看不到为什么不能将int赋给Long变量。关于这个问题有什么想法吗? 问题答案: 我认为问题不在于泛型转换原语和包装。问题是关于将int转换为java.lang.Long和将int转换为java.lan

  • 问题内容: 您可以将int隐式转换为double: 您可以将int显式转换为double: 您可以将double显式转换为int: 为什么不能将一个double隐式转换为int? : 问题答案: 的范围比宽。这就是为什么您需要显式强制转换。由于相同的原因,您不能隐式地从转换为:

  • 问题内容: 在我的Linux机器上,是一个普通的旧机器。DO 拥有一种特殊的原子质量? 问题答案: C99 仅符合非常小的“原子性”定义,因为 C99没有并发概念 ,只有可中断性。(C2011添加了一个并发模型,并使用它来保证更强的类型;但是,AFAIK 保持不变,因为其 存在的理由 仍然是与信号处理程序通信,而不是跨线程。) 这就是C99所说的: (第7.14节,第2段)定义的类型为,它是对象的

  • 问题内容: 将数组元素复制到其中的最佳方法是什么? 我需要快速执行此操作,所以最快的方法是什么? 问题答案: 利用创建 “(通过写‘到数组中。更改到返回的列表)’由指定数组支持的固定大小的列表。” 或者,解耦两个数据结构: 或更简洁:

  • 问题内容: 我试图将ArrayList添加到Jlist,但我给出的唯一理解是编写这样的代码: 让我感到困惑的是,为什么我不能像这样直接将ArrayList直接添加到Jlist中: 提前致谢。 问题答案: 包含“ helper”构造函数的目的是使使用简单数据结构更加容易。 的(和许多Swing组件)实际上是指与提供实际数据视图模型中使用。 原始设计可以追溯到将Swing纳入主库之前(在JDK 1.3