是否可以从他的参考 ID 中获取对象?
我得到一个字符串列表,其中包含一个对象的引用 ID,例如:
com.test.test.business.model.Gamma@20
如何从此引用 id 中获取对象?
它只是一个字符串,不能投射到对象本身
是否可以从他的参考 ID 中获取对象?
我得到一个字符串列表,其中包含一个对象的引用 ID,例如:
com.test.test.business.model.Gamma@20
如何从此引用 id 中获取对象?
它只是一个字符串,不能投射到对象本身
您所看到的称为对象的默认toString。它是它所属的类的 FQCN(完全限定的类名)和对象的 hashCode 的合并。
引用 toString 的 JavaDoc:
Object 类的 toString 方法返回一个字符串,该字符串由对象作为其实例的类的名称、at 符号字符“@”和对象哈希码的无符号十六进制表示形式组成。换句话说,此方法返回一个等于以下值的字符串:
getClass().getName() + '@' + Integer.toHexString(hashCode())
简而言之,您无法使用此引用 id获取对象。
我们可以覆盖toString
以提供更易于阅读的输出。看看下面的两个类,有和没有toString
。尝试执行 main 方法并比较两个打印语句的输出。
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。