Java new Integer()被阻止
我创建向量,我想在向量中加整数。 但是“new Integer()”有错误Java new Integer()被阻止,java,Java,我创建向量,我想在向量中加整数。 但是“new Integer()”有错误 Vector<Integer> intergers = new Vector<Integer>(); intergers.add(new Integer()); 向量整数=新向量(); add(新整数()); 我能做什么 现在我使用“Integer”和类似“newinteger(0)”的参数 但“新整数(0)”有黄色下划线。要删除此行,我可以做什么 好的,为什么构造函数整数(int)从版本9
Vector<Integer> intergers = new Vector<Integer>();
intergers.add(new Integer());
向量整数=新向量();
add(新整数());
我能做什么
- 现在我使用“Integer”和类似“newinteger(0)”的参数 但“新整数(0)”有黄色下划线。要删除此行,我可以做什么
- 好的,为什么构造函数整数(int)从版本9开始就被弃用了
- 好的!我找到了原因李>
String
或int
的构造函数
因此,您可以:
integers.add(new Integer("6"));
或
但后一个已弃用,应替换为
Integer。valueOf(5)
您应该编写Integer
并按如下方式传递参数:
Vector<Integer> intergers = new Vector<Integer>();
intergers.add(new Integer(1));
Vector<Integer> intergers = new Vector<Integer>();
intergers.add(0);
向量整数=新向量();
整数加(新整数(1));
您应该使用“整数”,而不是“整数”。此外,Integer类不接受空构造函数。工作代码应为:
Vector<Integer> integers = new Vector<Integer>();
integers.add(new Integer(2));
List<Integer> integers = new ArrayList<Integer>();
integers.add(2);
向量整数=新向量();
加上(新的整数(2));
然而,Java有这个概念。因此,更简洁的代码是:
Vector<Integer> integers = new Vector<Integer>();
integers.add(2);
向量整数=新向量();
整数。加(2);
Vector的方法是同步的,因此它支持多线程。然而,在大多数情况下,这并不好。所以我建议您切换到ArrayList。因此,更新版本为:
ArrayList<Integer> integers = new ArrayList<Integer>();
integers.add(2);
ArrayList integers=new ArrayList();
整数。加(2);
最后一点,您应该更喜欢使用`List作为数据类型,因为。因此,最终版本应为:
Vector<Integer> integers = new Vector<Integer>();
integers.add(new Integer(2));
List<Integer> integers = new ArrayList<Integer>();
integers.add(2);
List integers=new ArrayList();
整数。加(2);
没有无参数构造函数。即使是one-arg构造函数也不推荐使用,您应该避免使用它。您应该使用Integer.valueOf(int)
,例如
Integer x = Integer.valueOf(0);
但是,您可以简单地执行以下操作:
Vector<Integer> intergers = new Vector<Integer>();
intergers.add(new Integer(1));
Vector<Integer> intergers = new Vector<Integer>();
intergers.add(0);
向量整数=新向量();
整数加(0);
Java的特性将确保
0
自动转换为Integer.valueOf(0)
。您编写了Integer?是吗?但是它会出错。因为它是整数而不是整数。@SuperShark-如果其中一个答案解决了您的问题,您可以通过将其标记为已接受来帮助社区。公认的答案有助于未来的访问者自信地使用解决方案。检查以了解如何操作。thx但它有黄色线条我编辑了答案以包含这两行,并在我的计算机上进行了测试。@MajedBadawi-您应该避免使用新整数(1)
,因为此构造函数已被弃用。您应该使用Integer.valueOf(1)
。请注意Integer(int值)
自Java 9以来已被弃用。最好使用Integer.valueOf(5)
。integers.add(5)代码>再次变得更容易。