java 实体bean 的比较,并获取2个实体中不同的属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 实体bean 的比较,并获取2个实体中不同的属性相关的知识,希望对你有一定的参考价值。

如student s1 = new student("1","123","张三");student s2= new student("1","1233","李斯");
怎么获取s1 和s2 不同的地方
其实我的需求很简单,就是审批的时候,显示这次申请和上次申请,哪些地方是修改过的

重写student 的toString 方法 直接比较对象就行了

如果在精确些的重写hashcode方法

public class Student

private String id;
private String name;
private String add;

public String getId()
return id;


public void setId(String id)
this.id = id;


public String getName()
return name;


public void setName(String name)
this.name = name;


public String getAdd()
return add;


public void setAdd(String add)
this.add = add;


@Override
public String toString()
return "Student [id=" + id + ", name=" + name + ", add=" + add + "]";




自己封装这个对象 打印下试试

也可以采用 这个是第三方实现的
zhongtyler|五级
使用apache的beanutil 可以遍历属性名称,和属性内容
参考技术A 1应该是id 123 是?num属性 张三是name属性

if(!(s1.getId().equals(s2.getId())))
syso("id不同");

if(!(s1.getNum().equals(s2.getNum())))
syso("Num不同")

if(!(s1.getName().equals(s2.getName())))
syso("name不同");

不知道你的需求是什么,如果找不同 这样可以找出来
参考技术B 使用apache的beanutil 可以遍历属性名称,和属性内容。 参考技术C 阿勇java:
这个没什么捷径,逐个属性的比较吧。
像这样的比较,完全可以在数据库环境中实现啊!不要在代码中完成,很浪费资源,而且效率还不高。追问

在数据库中怎么比对呢?求解

参考技术D 你的原始需求是啥?说来听听,或许有其他方法

以上是关于java 实体bean 的比较,并获取2个实体中不同的属性的主要内容,如果未能解决你的问题,请参考以下文章

比较2个实体对象——CompareUtil工具类

比较2个实体对象——CompareUtil工具类

我的C/C++语言学习进阶之旅JNI开发之Java传递实体Bean到C++层,实体Bean包含intfloat等基本类型和数组arrayList集合等

我的C/C++语言学习进阶之旅JNI开发之Java传递实体Bean到C++层,实体Bean包含intfloat等基本类型和数组arrayList集合等

ABAP表生成Java实体Bean

Java组合实体模式~