我正在尝试使用db4o熟悉存储和接收值。我指向该文件的文件路径是正确的,没有语法错误。我只是想知道为什么这是我在运行程序时从控制台获得的输出(我还构建了一个简单的Contacts类):
Stored Contact@289d1c02
[Contact@289d1c02]
如何检索值而不是内存地址?
public static void main(String[] args) throws Throwable{
Contact contact1 = new Contact("Bob", "01/01/01");
ObjectContainer db = Db4oEmbedded.openFile(Db4oEmbedded.newConfiguration(), DB4OFILENAME);
try {
db.store(contact1);
System.out.println("Stored " + contact1);
List <Contact> contacts = db.query(Contact.class);
System.out.println(contacts);
}
finally {
db.close();
}
}
答案 0 :(得分:0)
要检索实际值,您必须覆盖Contact类中Java的本机java.lang.Object.toString()方法。
@Override
public String toString() {
return [insert what to return here];
}
这将允许您显示实际消息,其中包含有关每个对象的信息,而不是内存地址。