gpt4 book ai didi

java - 从 Eclipse 调试器复制对象

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:48:47 25 4
gpt4 key购买 nike

有没有一种方法可以在调试时将对象复制到文件中,以便以后可以使用它进行测试?我在 eclipse 上使用 java。具体来说,我想复制制作 junits 的请求对象

最佳答案

如果您的对象的类(或其任何父类(super class))实现接口(interface) java.io.Serilizable,您可以轻松地序列化该对象并将其存储在文件中。假设您有一个对象:

MyClass myObj = new MyClass();

只需在 Eclipse 中打开“显示” View (窗口 -> 显示 View -> 其他... -> 调试/显示)并键入:

java.io.ObjectOutputStream oos = new java.io.ObjectOutputStream(new java.io.FileOutputStream("/path/to/your/file"));
oos.writeObject(myObj);
oos.close();

选择此代码并按 Ctrl+i - Eclipse 将执行代码,因此 myObj 将存储在文件中(在本例中为“/path/to/your/file”)。在显示 View 中使用 java.io 包中类的规范名称,因为该包可能未导入到当前正在执行的类中。

稍后,您可以恢复此对象(例如,在测试类中):

import java.io.*;

ObjectInputStream ois = new ObjectInputStream(new FileInputStream("/path/to/your/file"));
MyClass myObj = (MyClass) ois.readObject();
ois.close();

当然,您应该将其包装在通常的 try/catch/finally 中以避免资源泄漏。

不幸的是,如果 MyClass 没有实现 java.io.Serializable 接口(interface),这将不起作用。

关于java - 从 Eclipse 调试器复制对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15813841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com