1

このオブジェクトがあり、ソケット全体に送信する必要があります。

static class Msg implements Serializable {
 int num;
 String name;
 boolean [] sign; 
 //modify 'Message' to 'Msg'....
 public Msg( int num, String name,boolean[] sign) {
   super();
   this.num=num;
   this.name=name;
   this.sign=sign; 
    Myarraycopy(this.sign,sign);
  }
 public boolean[] getsign() {
  return sign
 }
 // Some methods
}

ただし、コードの他の部分では。

  Socket _socket;

片側

  ObjectOutputStream out = new ObjectOutputStream(_socket.getOutputStream());
  Msg senMsg = new Msg(3,"Fine", new boolean[]{true,true,true})
      out.writeObject(senMsg);

…………向こう側に

   ObjectInputStream in = new ObjectInputStream(_socket.getInputStream());
        Msg recMsg = (Msg) in.readObject();
   boolean[] s = recMsg.getsign();
  System.out.println(s[0]+", "+ s[1]", "+s[2]);

出力の理由: false、false、false。

ObjectInputStream から配列の値を取得する方法。

4

2 に答える 2

0

'Myarraycopy()'が何をするにしても、2つの同じ値で呼び出しているので、削除することもできます。したがって、それはおそらく有用なことを何もすることができません。配列をそれ自体にコピーすることは役に立ちません、そして明らかにそれはそれを間違って行っています。

于 2012-12-11T21:45:01.543 に答える