Java比较两个对象然后记录不同属性值?求代码javaJava对象
解决方案 »
- hibernate异常 修改hql语句及实现
- 高分求示例 使用tx标签配置的拦截器
- xml出现 "Cannot find the declaration of element 'bindings'"问题,请问各位怎么解决?
- 关于内置STRUTS标签库 自定义属性
- 问一个涉及<html:select/> <html:options/><html:option/>的问题
- 用mysql保存GBK中文時出錯
- tomcat 的入门级问题 (20分)
- 如何解决以下的面试试题???(急急)
- ●●●●200分在Struts中,<logic:iterate 、、、表示什么意思?有什么作用?应该怎样应用?最好详细点!详见内容!
- 在AIX4.3.3上安装jdk131,但..
- 以前还好好的项目,现在怎么运行不起来了
- ajax怎样把js对象传入后台?
result: {dname=财务部:市场部, LOC=北京:南京}public static void main(String[] args){
Department d1 = new Department();
d1.setDname("财务部");
d1.setLOC("北京");
Department d2 = new Department();
d2.setDname("市场部");
d2.setLOC("南京");
JSONObject obj1 = JSONObject.fromObject(d1);
JSONObject obj2 = JSONObject.fromObject(d2);
Map record = new HashMap();
for(int i=0;i<obj1.names().size();i++){
if(isTheSame(obj1, obj2, i)){
continue;
}
if(!isTheSame(obj1, obj2, i)){
loadRecord(obj1, obj2, record, i);
}
}
System.out.println(record);
}
private static void loadRecord(JSONObject obj1, JSONObject obj2,
Map record, int i) {
record.put(obj1.names().get(i), obj1.get(obj1.names().get(i).toString())+":"+obj2.get(obj2.names().get(i).toString()));
}
private static boolean isTheSame(JSONObject obj1, JSONObject obj2, int i) {
return obj1.get(obj1.names().get(i)).equals(obj2.get(obj1.names().get(i)).toString());
}
if (obj1 instanceof Pojo && obj2 instanceof Pojo) {
Pojo pojo1 = (Pojo) obj1;
Pojo pojo2 = (Pojo) obj2;
List textList = new ArrayList<String>();
try {
Class clazz = pojo1.getClass();
Field[] fields = pojo1.getClass().getDeclaredFields();
for (Field field : fields) {
PropertyDescriptor pd = new PropertyDescriptor(field
.getName(), clazz);
Method getMethod = pd.getReadMethod();
Object o1 = getMethod.invoke(pojo1);
Object o2 = getMethod.invoke(pojo2);
if (!o1.toString().equals(o2.toString())) {
textList.add(getMethod.getName() + ":" + "false");
} else {
textList.add(getMethod.getName() + ":" + "true");
}
}
} catch (Exception e) {
// TODO: handle exception
}
for (Object object : textList) {
System.out.println(object);
}
}
}Pojo 是自己定义的业务实体 你自己定义就可以了
LZ你真懒
我要比较的是两个相同的实体对象,
getId:false
getName:false
getAge:true
getSex:false
我的对象还有一个属性叫banji,但是就是没有打印出来
楼主,是你让我深深地理解了‘人外有人,天外有天’这句话。谢谢侬!
在看完这帖子以后,我没有立即回复,因为我生怕我庸俗不堪的回复会玷污了这网上少有的帖子。但是我还是回复了,因为觉得如果不能在如此精彩的帖子后面留下自己的网名,那我死也不会瞑目的!能够在如此精彩的帖子后面留下自己的网名是多么骄傲的一件事啊!楼主,请原谅我的自私!
我知道无论用多么华丽的辞藻来形容楼主您帖子的精彩程度都是不够的,都是虚伪的,所以我只想说一句:您的帖子太好看了!我愿意一辈子的看下去!
这篇帖子构思新颖,题材独具匠心,段落清晰,情节诡异,跌宕起伏,主线分明,引人入胜,平淡中显示出不凡的文学功底,可谓是字字珠玑,句句经典,是我辈应当学习之典范。
就小说艺术的角度而言,这篇帖子不算太成功,但它的实验意义却远远大于成功本身。正所谓:“一马奔腾,射雕引弓,天地都在我心中!”楼主真不愧为无厘界新一代的开山怪!
本来我已经对这个社区失望了,觉得这个社区没有前途了,心里充满了悲哀。但是看了你的这个帖子,又让我对社区产生了希望。是你让我的心里重新燃起希望之火,是你让我的心死灰复燃,是你拯救了我一颗拨凉拨凉的心!
本来我决定不会在社区回任何帖子了,但是看了你的帖子,我告诉自己这个帖子是一定要回的!这是百年难得一见的好贴啊!苍天有眼啊,让我在优生之年得以观得如此精彩绝伦的帖子!
楼主,你要继续努力啊!你是社区的希望啊!