[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: コピーコンストラクター



 Makoto Kaneda さん、こんにちは。

 >ところで深いコピーの実装で、シリアライズして読み戻す
 >(これをメモリ上で行う)なんてやり方もあったと思いますが、
 >Javaで簡単に実装できそうですか
 既に作っています。Serializable をテストするのに便利です。

 package higa.util;

 import java.io.ByteArrayOutputStream;
 import java.io.ByteArrayInputStream;
 import java.io.ObjectOutputStream;
 import java.io.ObjectInputStream;
 import java.io.IOException;

 public class Serializer {

   public static Object echo(Object o)
     throws IOException,
     ClassNotFoundException {

     ByteArrayOutputStream baos =
       new ByteArrayOutputStream();

     ObjectOutputStream oos =
       new ObjectOutputStream(baos);

     oos.writeObject(o);

     ByteArrayInputStream bais =
       new ByteArrayInputStream(
       baos.toByteArray());

     ObjectInputStream ois =
       new ObjectInputStream(bais);

     return ois.readObject();
   }

   private Serializer() {
   }

   /*
   public static void main(String[] args)
     throws IOException {

     try {
       test();
     } catch (Exception ex) {
       ex.printStackTrace();
     }

     System.in.read();
   }

   private static void test()
     throws Exception {

     String s = "hello";
     System.out.println(Serializer.echo(s));
   }
   */
 }
 ---
 98/6/26(Fri) 00:00pm  QWR03550 ひがやすお@電通国際情報サービス