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

发布于 2024-11-08 04:39:16 字数 538 浏览 1 评论 0原文

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

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

但是编译器指定以下代码是错误的。

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

错误信息是

该行有多个标记

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

我的代码有什么问题吗?谢谢。

In servlet side, I am trying to receive an vector sent from the applet. The code is like

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

But the compiler specifies that the following one is wrong.

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

The error message is

Multiple markers at this line

  • Unhandled exception type ClassNotFoundException
  • Vector is a raw type. References to generic type Vector
    should be parameterized
  • Vector is a raw type. References to generic type Vector
    should be parameterized

What's wrong with my code? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

煞人兵器 2024-11-15 04:39:17

对于例外情况,请将您的代码包装在

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

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

For the exception, wrap your code in

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

The other messages are warnings which won't stop your program from compiling. They refer to needing a parameter on parametrised types to adhere to new specifications (as of Java 1.5). So, if you want to store integers in a Vector, use Vector<Integer>. This changes the methods to requiring Integers instead of the generic Object you'd normally get and increases type-safeness.

蓝天白云 2024-11-15 04:39:17

您想要为向量指定数据类型——例如,

Vector<String> v = ...

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

You want to specify a datatype for vector -- e.g.

Vector<String> v = ...

String might not be the best choice for your application, however.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文