Tag: 序列化

虽然我实现了’Serializable’,但为什么我得到NotSerializableExceptionexception

我在类’userInfo’中实现了Serializable。 我仍然有例外。 这是输出控制台 – java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: chatservernazmus.User at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at java.util.ArrayList.readObject(ArrayList.java:593) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at chatservernazmus.Server.getAllUser(Server.java:74) at chatservernazmus.Server.(Server.java:44) at chatservernazmus.Main.main(Main.java:11) 这是我的两个class级: public class userInfo implements Serializable{ public […]

通过套接字发送ArrayList 。 Java的

我想要做的是通过从Android客户端到Java服务器的套接字发送和ArrayList。 以下是发送ArrayList的客户端代码: private void sendContacts(){ AppHelper helperClass = new AppHelper(getApplicationContext()); final ArrayList list = helperClass.getContacts(); System.out.println(“Lenght of an contacts array : ” +list.size()); // for (Person person : list) { // System.out.println(“Name “+person.getName()+”\nNumber “+ person.getNr()); // } handler.post(new Runnable() { @Override public void run() { // TODO Auto-generated method stub try { //**151 line** os.writeObject(list); […]

反序列化问题 – java.io.StreamCorruptedException:类型代码无效:00

我正在编写一个java文件传输应用程序,我有一些麻烦的反序列化自己定义的类来自Datagramms的消息。 StackOverflow的其他主题有类似的问题,但我没有从那里找到有用的东西,所以如果我错过它,我很抱歉。 所以,类消息是: import java.io.Serializable; public class Message implements Serializable { private static final long serialVersionUID = 1L; private int segmentID; private byte[] packet; private int bytesToWrite; public Message(){ segmentID = -1; } public Message(int segmentID, byte[] packet, int bytesToWrite) { this.segmentID = segmentID; this.packet = packet; this.bytesToWrite = bytesToWrite; } public int getBytesToWrite() { […]

只要它实现Serializable,可以序列化任何东西吗?

我已经看到了这个: 如何在java中测试一个类正确地实现了可序列化 我只是有一个更普遍的问题。 如果您创建一个这样的对象(比如一个圆圈)(假设有import): class Circle implements Serializable { int radius; Circle(int radius){ this.radius = radius; } public void updateRadius(int radius){ this.radius = radius } public int getRadius(){ return radius; } } 它是否需要可序列化? 我是否需要添加更多方法才能正确序列化? 我有一个更复杂的课程,但是当这应该提供充足的例子时,并不想发布所有的课程。

Android:如果我将serialVersionUID添加到旧的可序列化对象会发生什么?

如果您使用一个从未显式指定serialVersionUID的旧的可序列化对象,并将serialVersionUID添加到该对象,会发生什么? 在我看来,下次应用程序被最终用户更新时,它会尝试从光盘反序列化数据,发现serialVersionUID不匹配,用来自server / db /的新数据覆盖数据,之后你好的。 我在这个假设中是否正确? 还有其他问题我应该警惕这样做吗? private class X implements serializable {… private static final long serialVersionUID = 0L;

如何在Java中使用Json序列化时避免无限循环

我使用hibernate检索兄弟列表 public class Brother { public int brotherId; public string name; public List brothers; public Brother() { brothers = new ArrayList(); } //Getter Setter } Hibernate是在兄弟列表中使用lazy select配置的,这在Java端工作,但问题是当我想将一个Brother对象序列化为JSON时。 I’ve got org.codehaus.jackson.map.JsonMappingException: Infinite recursion (StackOverflowError) 例如布莱恩可以让马克作为一个反面的兄弟…… 我怎么解决呢? 有没有办法表明jackson图书馆的最大递归数? 我的代码,真的很简单。 Brother brother = this.myservice.getBrother(4); ObjectMapper mapper = new ObjectMapper(); System.out.println(mapper.writeValueAsString(brother));

如何序列化在java中实现的链表?

我在网上读到,通过将派生对象声明为瞬态,可以省略序列化。 但是,在链表的情况下,链接是对象之间的内存引用。 那么,我应该将它转换为数组并存储数组表示吗?

序列化JFrame并通过网络发送

我想要做的是通过套接字发送JFrame。 问题是在我发送表单并按下按钮查看后,我得到以下exception。 package ds3; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.ServerSocket; import java.net.Socket; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JFrame; public class SerializationApp extends JFrame { private DataForm dataForm = new DataForm(); private int serverPort = 15000; private ServerSocket serverSocket; public SerializationApp() { try { serverSocket = new ServerSocket(serverPort); initComponents(); new Thread(new Runnable() { @Override […]

在CORBA中有没有与writeReplace相同的东西?

使用标准Java序列化时,可以根据Serializable接口,在流中Object writeReplace()替换对象,创建将在序列化期间调用的Object writeReplace()方法。 我的问题很简单:在Corba Java实现中是否存在这种结构的等价物?

问题序列化Drawable

我有一个有三个字段的单个对象:两个字符串和一个Drawable public class MyObject implements Serializable { private static final long serialVersionUID = 1L; public String name; public String lastName; public Drawable photo; public MyObject() { } public MyObject(String name, String lastName, Drawable photo) { this.name = name; this.lastName = lastName; this.photo = photo; } } 我正在尝试做的是将这些对象的ArrayList保存到文件中,但我不断收到NotSerializableException 02-02 23:06:10.825: WARN/System.err(13891): java.io.NotSerializableException: android.graphics.drawable.BitmapDrawable 我用来存储文件的代码: public static […]