在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的引用 应该参数化
我的代码出了什么问题?感谢。
答案 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 = ...
然而,字符串可能不是您的应用程序的最佳选择。