我正在编程一个简单的Java gmail客户端来完成我的a级项目。当下面的代码段运行时,我总是得到一个错误。我找不出为什么会有错误。
public static void save(List<user> u3){
try {
FileOutputStream fos=new FileOutputStream("users.ser");
ObjectOutputStream oos= new ObjectOutputStream(fos);
oos.writeObject(u3);
}catch (Exception e) {
e.printStackTrace(); //Added due to suggestion of commentor
}
}
错误是:
Java.io.NotSerializableException:用户在Java.io.ObjectOutputStream.WriteObject0(ObjectOutputStream.Java:1184)在Java.io.ObjectOutputStream.WriteObject(ObjectOutputStream.Java:348)在Java.util.ArrayList.WriteObject(ObjectOutputStream.Java:348)在sun.reflect.NativeMethodAccessorImpl.Invoke0(原生方法)在CT.NativeMethodAccessorImpl.Invoke0(本机方法)在Sun.Reflect.NativeMethodAccessorImpl.Invoke(NativeMethodAccessorImpl.java:62)在Sun.Reflect.DelegatingMethodAccessorImpl.java:43)在java.lang.Reflect.Method.Invoke(Method.java:497)在BlueJ.Runtime.ExecServer$3.Run(execServer.java:730)
正如JEE7的官方文档中提到的:
当要求实例具有可序列化接口时引发
因此您只需要实现serializable
接口。
class User implements Serializable {
//Staff
}
您的类“User”没有实现Serializable。Serializable主要是一个标记接口。您不需要做任何事情来实现它。只需声明您的类实现了它就足够了。
class User implements Serializable{
// your existing code here
}
解决了。 我在另一个类中初始化我的产品列表: 我想做的是,在构造函数中初始化我的产品列表,如下所示: 这是我的方法,它将对象列表写入。json文件: 我在成员的帮助下找到的解决方案: 和构造函数:
我的应用程序的某些实例出现以下错误: 我不知道如何复制这一点,但看看stacktrace,它似乎是在应用程序停止时发生的。 我真的不明白为什么android试图序列化/打包我的片段,我没有在任何地方实现onSaveInstanceState/onRestoreInstanceState。 谁能帮帮我吗? 谢谢,卢卡 编辑:谢谢你的回答。不,我没有任何视图的自定义输入, 可能是解决此错误的方法,重写
我试图使用Spark 1.0在HBase(0.96.0-hadoop2)中编写一些简单的数据,但我一直遇到序列化问题。以下是相关代码: 运行代码会导致: 用map替换foreach不会崩溃,但我也不会写。任何帮助都将不胜感激。
问题内容: 我正在尝试使用PrintStream在Java文件中写入0xFF。当我使用十六进制编辑器打开其他值时,会将其他值正确写入文件,但是假定显示0xFF的值却改为0xC3BF。 使用的变量类型为int。经过几次尝试后,我还发现我可以输入的“最大值”值为0x7F,这将在十六进制编辑器中正确显示,如果我输入0x80,则十六进制编辑器将显示0xC280。 怎么了? 问题答案: 进行一些调查后发现,
问题内容: 我正在不同的机器上运行多个进程,这些进程需要读/写到共享的XML文件,为此我正在使用和(虽然我知道数据库将是一种更有效的方法,但由于项目限制,这种方法不可行) 。 要更改XML文件,相关过程首先创建一个专用锁定的通道,该通道用于读取文件,然后尝试在关闭通道之前重用相同的通道来写入新版本。这样锁就永远不会掉下来。但是,问题是,即使我从未明确关闭通道,尝试写入结果时也会得到提示。我怀疑那行
我有一个类型为,但我得到了这个错误: