java只有一个Car@32c41a能得到原来的对象么?这是一个car 对象调用了tostring之后,能否得到原来的类,其实想得到原来类的各个域的信息,不知道怎么写
------解决方案--------------------------------------------------------
可以得到原来的类,但是得不到原来的对象了
Car是代表类型,@是固定的,32c41a是对象的哈希值
要想通过这样的字符串还原是不可能的,已经丢失了各个属性的信息了
如果你只是想得到类的定义信息,那么可以通过反射
- Java code
String s = "Car@32c41a";s = s.relaceAll("(.*?)@.*", "$1");Class<?> clazz = Class.forName(s);Field[] fds = clazz.getDeclaredFields();for (Field f : fds) { System.out.println(f);}
------解决方案--------------------------------------------------------
嗯。
就像只知道人姓名不能克隆整个肉体一样,只知道toString之后的结果而不知道其他属性值当然无法还原对象。