- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在做一些关于 Java 的作业,但我不擅长它,并且在尝试使用 XMLEncoder 将 App 对象存储到文件时遇到问题。
简而言之,我的应用程序有一个名为 animal
的抽象类。另一个扩展了前一个,称为 dog
和cat
。在我的主应用程序中,我有一个静态方法来创建新动物,该方法将新动物对象添加到类型为 animal
的静态 ArrayList 中。 :public static ArrayList<animal> animalArray = new ArrayList<animal>();
创建动物kingdom.java:
private static void newAnimal(ArrayList<animal> animalArray) {
System.out.print(" Enter a name for the dog > ");
animalArray.add(new dog(keyboard.nextLine()));
System.out.println(" New dog with name " + animalArray.get(animalArray.size()-1).getName() + ".\n");
try {
FileOutputStream afos = new FileOutputStream("animals.xml");
XMLEncoder encoder = new XMLEncoder(afos);
encoder.writeObject(animalArray.get(animalArray.size()-1));
encoder.close();
} catch(IOException ioe){
System.out.print("[ERROR!]");
}
}
我的抽象动物类:animal.java:
public abstract class animal {
private static int alloc = 0;
protected int id;
private String name;
animal() {
alloc++;
id = alloc;
}
public void play() {
System.out.print(" The animal (" + this.id + ") " + this.name + " is now playing... ");
}
public void setName(String lname) {
this.name = lname;
}
public String getName() {
return this.name;
}
public static int countAnimals() {
return alloc;
}
}
现在,我的狗课:dog.java:
public class dog extends animal {
dog(String theName) {
this.setName(theName);
}
@Override
public void play() {
super.play();
System.out.println(" Dog Stuff!");
}
}
当我尝试运行代码时,我得到:
java.lang.InstantiationException: dog
Continuing ...
java.lang.Exception: XMLEncoder: discarding statement XMLEncoder.writeObject(dog);
Continuing ...
我错过了什么?谢谢;)
最佳答案
您应该按以下方式使用:
encoder.writeObject(animalArray.get(animalArray.size()-1).getName());
Dog 对象本身无法保存到 XMLEncoder 中。
谢谢。
关于Java:XMLEncoder writeObject 子对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14492644/
我想编写一个 cmdlet,从数据库中读取多条记录并将它们放入管道。 我想我可以做一个WriteObject(Enumerable, true)或者我可以自己循环并调用 WriteObject多次。
什么更快? out.writeObject(someString) 或 out.writeUTF(someString) 最佳答案 我希望人们从这个问题中学到两件事:Java 序列化很慢 - 忍受它。
我对这段代码有一些问题...这是一个 JDialogForm,其中有 jTextField 和按钮。当我单击按钮在另一个窗口中使用它时,我想保存此 Jtextfield 中的数据,但我不知道为什么它不
我正在尝试做什么 我有一个服务器类,故意没有传递任何参数,并且想用 Mockito 测试它。 如果您想查看 Github 上的完整源代码: Server ServerTest 服务器.class pu
我正在学习垃圾收集和 Java 对象序列化。在我包含序列化代码之前的代码中,3 个对象正在完成。现在只有一个 finalize() 被调用并在创建 FileOutputStream 对象后进入我的程序
我正在开发一个应用程序,该应用程序必须将对象序列化为文件以供以后使用。有多个线程调用方法writeObject (对于不同的对象,相同的文件)并发。该方法是线程安全的吗?我是否必须在应用程序代码中同步
对于类作业,我需要将对象写入文件。我们的教授给了我们一段代码来完成这个任务,但显然它是错误的,因为我收到了一个错误。这是我的代码。 class InvMaintenance { //creat
我有一些通过 RMI 序列化同时访问的对象。最近我编写了自定义序列化方法: /** This method is made to omit serialization of this.order */
似乎是一个非常简单的问题,但我在谷歌上找不到直接答案。 我在两个进程之间通过 UDP 有一个简单的 IPC channel 。每条消息都包装在 header 类中(例如数据驱动)。 例如。 enum
我正在使用ObjectOutputStream保存对象,但是当我使用.writeObject(this)将其保存为文件时,无法保存 Material 。我定义的类已经是可序列化的。 public cl
我正在尝试实现一个保存功能来保存游戏的当前状态。这是我的代码: public class MyGame extends javax.swing.JFrame implements Serializab
我正在做一些关于 Java 的作业,但我不擅长它,并且在尝试使用 XMLEncoder 将 App 对象存储到文件时遇到问题。 简而言之,我的应用程序有一个名为 animal 的抽象类。另一个扩展了前
这似乎是一个奇怪的问题,但看看这个简单的代码: public class Father implements Serializable{ private static final long s
我希望我不只是发现 Java 中的错误!我正在运行 JDK 7u11(主要是因为这是我的雇主允许的认可的 JVM),并且我注意到一个非常奇怪的问题。 也就是说,我将数据分块到 LinkedHashSe
我正在创建一个软件,多个客户端可以在“同一” Canvas 上绘图。这是通过将绘制点的 ArrayList 发送到服务器并返回来完成的。现在,我已经设置了 ListArray,但我需要它不断更新,以便
我正在为我的一堆类使用序列化代理模式,并且最近将 FindBugs 添加到我的构建过程中,现在我想知道 FindBugs 是否正确...... 这是有问题的类: public class Block
我想使用 ObjectOutputStream.writeObject() 将哈希表序列化为文件,但我希望编写器始终覆盖任何现有对象,以便只存在一个对象: FileOutputStream fout
你好,我想告诉你,我为我的游戏制作了多人游戏并且它有效,但是从欧洲的一侧到另一侧,需要 8 秒。没有太多要发送的,它只发送一个具有 float x,float y 和 String username
需要序列化,我理解这一点,但是 stream.defaultWriteObject() 如何实际访问它们,因为它们是私有(private)的、静态的和最终的。 我的 CS 讲师无法解释这一点(或者他只
我正在尝试创建一些本地聊天软件。一切正常,但只停留在一点上;当用户单击按钮时,我的程序会卡住。 我编写了一个修改后的类,它的行为适用于服务器和客户端。 下面是我的代码: package connect
我是一名优秀的程序员,十分优秀!