Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将对象序列化为dat文件_Java_Serialization_Arraylist - Fatal编程技术网

Java 将对象序列化为dat文件

Java 将对象序列化为dat文件,java,serialization,arraylist,Java,Serialization,Arraylist,所以我有一个对象数组列表,我想以二进制格式存储到dat文件中 objectA类具有此构造函数 public ObjectA(String aString,int aNumber ,String[] sampleA){ this.aString = aString; this.aNumber = aNumber; this.sampleA= sampleA; } 在另一个类文件中,我对该类进行了实例化,并用ObjectA对象填充了arraylist priva

所以我有一个对象数组列表,我想以二进制格式存储到dat文件中

objectA类具有此构造函数

public ObjectA(String aString,int aNumber ,String[] sampleA){
    this.aString = aString;
    this.aNumber = aNumber;
    this.sampleA= sampleA;
}
在另一个类文件中,我对该类进行了实例化,并用ObjectA对象填充了arraylist

      private static ArrayList<ObjectA> objectA = new ArrayList<ObjectA>();
但是,我在尝试运行时发现了这个错误 createFile()上出现错误!java.io.NotSerializableException:trycatch中的ObjectA
有什么想法吗?

您的
对象a
必须实现该接口

public ObjectA implements Serializable {

} 
不过,这不是唯一有效的方法

实现也是有效的。区别在于
java.io.Serializable
被称为标记接口(例如,该接口不提供实现方法),而
java.io.Externalizable
强制您实现两种方法,从而为实现自定义序列化机制提供了必要的手段

public class ObjectA implements Externalizable {
    @Override
    public void writeExternal(ObjectOutput out) { ... }

    @Override
    public void readExternal(ObjectInput in) { ... }
}

您的
ObjectA
必须实现该接口

public ObjectA implements Serializable {

} 
不过,这不是唯一有效的方法

实现也是有效的。区别在于
java.io.Serializable
被称为标记接口(例如,该接口不提供实现方法),而
java.io.Externalizable
强制您实现两种方法,从而为实现自定义序列化机制提供了必要的手段

public class ObjectA implements Externalizable {
    @Override
    public void writeExternal(ObjectOutput out) { ... }

    @Override
    public void readExternal(ObjectInput in) { ... }
}

您的
ObjectA
必须实现该接口

public ObjectA implements Serializable {

} 
不过,这不是唯一有效的方法

实现也是有效的。区别在于
java.io.Serializable
被称为标记接口(例如,该接口不提供实现方法),而
java.io.Externalizable
强制您实现两种方法,从而为实现自定义序列化机制提供了必要的手段

public class ObjectA implements Externalizable {
    @Override
    public void writeExternal(ObjectOutput out) { ... }

    @Override
    public void readExternal(ObjectInput in) { ... }
}

您的
ObjectA
必须实现该接口

public ObjectA implements Serializable {

} 
不过,这不是唯一有效的方法

实现也是有效的。区别在于
java.io.Serializable
被称为标记接口(例如,该接口不提供实现方法),而
java.io.Externalizable
强制您实现两种方法,从而为实现自定义序列化机制提供了必要的手段

public class ObjectA implements Externalizable {
    @Override
    public void writeExternal(ObjectOutput out) { ... }

    @Override
    public void readExternal(ObjectInput in) { ... }
}