Как устранить ошибки «Необработанное исключение типа ClassNotFoundException» и «Вектор является необработанным типом»? - PullRequest
2 голосов
/ 19 мая 2011

На стороне сервлета я пытаюсь получить вектор, отправленный из апплета. Код похож на

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

Но компилятор указывает, что следующее неверно.

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

Сообщение об ошибке:

Несколько маркеров в этой строке

  • Необработанный тип исключения ClassNotFoundException
  • Вектор является необработанным типом. Ссылки на универсальный тип Vector должен быть параметризован
  • Вектор является необработанным типом. Ссылки на универсальный тип Vector должен быть параметризован

Что не так с моим кодом? Спасибо.

Ответы [ 2 ]

3 голосов
/ 19 мая 2011

За исключением, оберните ваш код в

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

Другие сообщения - это предупреждения, которые не остановят компиляцию вашей программы. Они ссылаются на необходимость параметра в параметризованных типах для соответствия новым спецификациям (начиная с Java 1.5). Итак, если вы хотите хранить целые числа в векторе, используйте Vector<Integer>. Это меняет методы на требование Integers вместо общего Object, которое вы обычно получаете, и повышает безопасность типов.

1 голос
/ 19 мая 2011

Вы хотите указать тип данных для вектора - например,

Vector<String> v = ...

Строка может быть не лучшим выбором для вашего приложения.

...