我收到此错误但不知道如何解决它。我已经通过了帖子但仍然感到困惑。 我试图运行Xlint File.java但它不起作用。 在运行此代码时,我正在获取msg,如
“VectorTest.java使用未经检查或不安全的操作
使用-Xlint重新编译:取消选中以获取详细信息“
import java.util.Vector;
import java.util.Enumeration;
public class VectorTest
{
public static void main(String args[])
{
Vector v=new Vector(3,4);
System.out.println("Initial size"+ v.size());
System.out.println("Initial capacity"+ v.capacity());
v.addElement(new Integer(1));
v.addElement(new Float(2.5));
v.addElement(new Double(3.45));
v.addElement(new Integer(4));
v.addElement(new Integer(5));
System.out.println("Current Capacity"+ v.capacity());
v.addElement(new Integer(6));
v.addElement(new Integer(7));
v.addElement(new Integer(8));
v.addElement(new Integer(9));
v.addElement(new Integer(10));
v.addElement(new Integer(11));
v.addElement(new Integer(12));
System.out.println("Current Capacity"+ v.capacity());
System.out.println("First element"+(Integer) v.firstElement());
System.out.println("Last element"+(Integer)v.lastElement());
Enumeration e;
e= v.elements();
while(e.hasMoreElements())
{
System.out.println("All elements"+ e.nextElement());
}
}
}
答案 0 :(得分:2)
Vector
类是通用的;你应该指定它包含的对象的类型。在您的情况下,看起来您应该声明它包含Object
或Number
(这两者都是您似乎要添加的所有内容的超类):
Vector<Number> v = new Vector<>(3,4); // or new Vector<Number>(3,4) if pre-Java 7
警告应该消失。
另外,最好使用构造Integer.valueOf(1)
等代替new Integer(1)
。它允许重用可能被缓存的Integer
个对象,减少内存使用。
答案 1 :(得分:1)
你错过了泛型类型。 您可以将Vector声明为
Vector<Number> v = new Vector<Number>(3, 4);