2011-05-19 28 views
2

在servlet方面,我試圖接收從applet發送的向量。代碼就像如何解決「未處理的異常類型ClassNotFoundException」和「Vector是原始類型」錯誤?

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

但編譯器指定下面的錯誤。

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

該錯誤消息是在該線

  • 未處理的異常類型的ClassNotFoundException
  • 矢量是原始類型

    多個標記。參考通用類型向量 應參數化

  • 向量是一個原始類型。引用泛型類型矢量 應該是參數

這有什麼錯我的代碼?謝謝。

回答

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

您想爲矢量指定數據類型 - 例如,

Vector<String> v = ... 

字符串可能不適合你的應用的最佳選擇,但是。

+1

您不能使用原始數據類型作爲通用參數。 – 2011-05-19 17:11:31

+1

良好的捕獲 - 從int更改爲String。 – jedwards 2011-05-19 17:25:18

相關問題