如题,麻烦大家啦。。
我重写了javaBean的toString方法,
public String toString() {
return new ToStringBuilder(this).append("name", this.name).append("list", this.list).append("sex", this.sex).toString();
}
但将这个bean重新转换回来,System.out.println(message);
TestBean bean = new TestBean();
try {
bean = (TestBean) message;
}catch (Exception e) {
e.printStackTrace();
}
报错了:com.ozhibin.mina.TestBean@76e369[name=欧智斌,list=[在, 天],sex=男]
java.lang.ClassCastException: java.lang.String
at com.ozhibin.mina.ReceiverHandler.messageReceived(ReceiverHandler.java:92)
at org.apache.mina.common.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:743)
at org.apache.mina.common.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:405)
at org.apache.mina.common.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:40)
at org.apache.mina.common.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:823)
at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:379)
我重写了javaBean的toString方法,
public String toString() {
return new ToStringBuilder(this).append("name", this.name).append("list", this.list).append("sex", this.sex).toString();
}
但将这个bean重新转换回来,System.out.println(message);
TestBean bean = new TestBean();
try {
bean = (TestBean) message;
}catch (Exception e) {
e.printStackTrace();
}
报错了:com.ozhibin.mina.TestBean@76e369[name=欧智斌,list=[在, 天],sex=男]
java.lang.ClassCastException: java.lang.String
at com.ozhibin.mina.ReceiverHandler.messageReceived(ReceiverHandler.java:92)
at org.apache.mina.common.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:743)
at org.apache.mina.common.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:405)
at org.apache.mina.common.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:40)
at org.apache.mina.common.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:823)
at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:379)
String message = bean.toString();
Socket socket = new Socket();
BufferedReader reader = null;
BufferedWriter writer = null; // 连接到RECEIVER
try {
socket.connect(new InetSocketAddress(IP, PORT), 20000);
socket.setSoTimeout(20000);
reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); String logStr = " 已连接到RECEIVER [" + IP + ":" + PORT + "]";
System.out.println(logStr);
} catch (Exception e) {
e.printStackTrace();
}
TestBean t = new TestBean();
t.setName("欧智斌");
t.setSex("男");
ArrayList list = new ArrayList();
list.add("在");
list.add("天");
t.setList(list);
try {
writer.write(t.toString());
writer.newLine();
writer.flush();
} catch (IOException e2) {
e2.printStackTrace();
}
socketServer接收的信息,是Ojbect的。实际上就是,TestBean.toString的字符串来的