是否可以从他的引用ID中获取对象?
我得到一个包含对象引用ID的String列表,如:
com.test.test.business.model.Gamma@20
如何从此引用ID中获取对象?
它只是一个字符串,不能转换为对象本身
答案 0 :(得分:6)
您看到的内容称为对象的默认toString。它是它所属类的FQCN(完全限定类名)和对象的hashCode的合并。
从toString的JavaDoc引用:
Object类的toString方法返回一个由。组成的字符串 对象是实例的类的名称,at-sign 字符“@”,以及散列的无符号十六进制表示 对象的代码。换句话说,此方法返回一个相等的字符串 价值:
getClass().getName() + '@' + Integer.toHexString(hashCode())
简而言之,您无法使用此参考ID 获取对象。
我们可以覆盖toString
以提供更易读的输出。看看下面两个类,有没有toString
。尝试执行main方法并比较两个print语句的输出。
class Person {
private String name;
@Override
public String toString() {
return "Person [name=" + this.name + "]";
}
}
class Address {
private String town;
}
public class Test {
public static void main(String... args) {
Person person = new Person();
Address address = new Address();
System.out.println("Person is : " + person);
System.out.println("Address is : " + address);
}
}
但是,如果你真的想找到一种方法来保存物品并在以后阶段复活它们,你应该阅读Serialization。