如何解决“未处理的异常类型ClassNotFoundException”和“Vector是原始类型”错误?

时间:2011-05-19 16:28:30

标签: java servlets applet

在servlet方面,我试图接收从applet发送的向量。代码就像

InputStream in = request.getInputStream();
ObjectInputStream inputFromApplet = new ObjectInputStream(in);
Vector v = (Vector) inputFromApplet.readObject();

但编译器指定以下错误。

Vector v = (Vector) inputFromApplet.readObject();

错误消息是

  

此行有多个标记

     
      
  • 未处理的异常类型ClassNotFoundException
  •   
  • Vector是原始类型。对泛型类型Vector的引用    应该参数化
  •   
  • Vector是原始类型。对泛型类型Vector的引用    应该参数化
  •   

我的代码出了什么问题?感谢。

2 个答案:

答案 0 :(得分:3)

对于异常,请将代码包装在

try {
   <your code here>
} catch (ClassNotFoundException e) {
   <code that happens when class can't be found>
}

其他消息是警告,不会阻止您的程序编译。它们指的是需要参数化类型的参数以符合新规范(从Java 1.5开始)。因此,如果要将整数存储在Vector中,请使用Vector<Integer>。这会将方法更改为需要Integers而不是您通常会获得的通用Object,并提高类型安全性。

答案 1 :(得分:1)

您想为vector指定数据类型 - 例如

Vector<String> v = ...

然而,字符串可能不是您的应用程序的最佳选择。