首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

只有一个Car@32c41a能得到原来的对象么?解决思路

2012-03-01 
只有一个Car@32c41a能得到原来的对象么?java只有一个Car@32c41a能得到原来的对象么?这是一个car 对象调用

只有一个Car@32c41a能得到原来的对象么?
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之后的结果而不知道其他属性值当然无法还原对象。

热点排行