例として、次の値と同じ値を持つ2つの従業員オブジェクトがあります。Javaの2つのオブジェクトを比較する方法8
Employee employee1 = new Employee(1001, "Sam", 20000);
Employee employee2 = new Employee(1001, "Sam", 20000);
if(doCompareEmployees(employee1, employee2)){
System.out.println("Both employee objects are same.");
}else{
System.out.println("Both employee objects are not same.");
}
//Here is compare method using java 8.
private boolean doCompareEmployees(Employee employee1, Employee employee2) {
int returnValue = Comparator.comparing(Employee::getID)
.thenComparing(Employee::getName)
.thenComparing(Employee::getSalary)
.compare(employee1, employee2);
if (returnValue != 0){
return false;
}
return true;
}
Java 8のオブジェクトを比較する方法が他にもありますか?
をし、代わりに 'employee1.equals(employee2)'によって置き換えられたこの 'doCompareEmployees'メソッドを削除してください。 –
標準オプションは 'Employee'に適切な' equals'メソッドを追加することです。それが不可能な場合、プロパティーによるチェックのための最良のアプローチも変更されていません。return employee1.getID()== employee2.getID())&& employee1.getName()。equals(employee2.getName())&& employee1.getSalary()== employee2.getSalary()); – Holger
https://stackoverflow.com/questions/472626/how-to-generically-compare-entire-java-beansの可能な複製 – tkruse