2009-04-01 12:04:11softlive

如何傳遞Class

有時會直接用到Class的傳遞serialize/deserialize

Class to byte[] 程式碼如下   

    Object obj=...; <--產生Class實體
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ObjectOutputStream oos=null;       
    try {       
        oos = new ObjectOutputStream(baos);
        oos.writeObject(obj);           
        baos.toByteArray() <-- 轉成byte[]傳遞                       
    } catch (Exception e){           
        throw e;
    } finally { oos.close(); }

byte[] to Class 程式碼如下

byte[] bt <--從某處形成傳入
(T) new ObjectInputStream(new ByteArrayInputStream(bt)).readObject() ;      
T是想還原的Class。