从参考ID获取对象

时间:2013-02-05 15:17:09

标签: java

是否可以从他的引用ID中获取对象?

我得到一个包含对象引用ID的String列表,如:

  

com.test.test.business.model.Gamma@20

如何从此引用ID中获取对象?

它只是一个字符串,不能转换为对象本身

1 个答案:

答案 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