2011-07-14 30 views
1

我有一個將POJO從服務器發送到客戶端的程序。對於像String[]Boolean這樣的原始數據類型,它工作正常。當我創建只有getter和setter自定義數據類型,從服務器發送到客戶端,並嘗試從Java Object強制到我的數據類型,我得到異常:無法在ObjectOutputStream之後投射POJO

java.lang.ClassCastException: java.lang.Object cannot be cast to com.ais.sqar.datatypes.Udata 
在客戶端的兩個實例

在哪裏和服務器我可以投得很好。看起來當我把它推過ObjectOutputStream發生了一些奇怪的事情。我也序列化了對象。任何與ObjectOutputStreams陷阱?

+1

您正在做一些奇怪的事情,導致創建一個'new Object()'而不是'Udata'。顯示代碼。 –

+2

這應該很好。問題似乎是序列化機制爲您在客戶機上反序列化的對象指定的類型是java.lang.Object,而不是您期望的類型。你能發佈你在兩端使用的代碼嗎?你是否以任何方式壓倒序列化機器? – antlersoft

+1

你在類路徑的兩端是否有相同的類版本? –

回答