public ClassA
{
private String firstId;
private String secondId;
public void setFirstId(String firstId) {
this.firstId = firstId;
}
public String getFirstId() {
return id;
}
public void setSecondId(String secondId) {
this.secondId = secondId;
}
public String getSecondId() {
return secondId;
}
}
public ClassB
{
private String firstId;
private String secondId;
public void setFirstId(String firstId) {
this.firstId = firstId;
}
public String getFirstId() {
return id;
}
public void setSecondId(String secondId) {
this.secondId = secondId;
}
public String getSecondId() {
return secondId;
}
}
У меня есть 2 вышеупомянутых класса (POJO), которые абсолютно одинаковы (за исключением названия курса), которые я добавляю к двум массивам: aListA и aListB.Мне нужно сравнить, если два объекта одинаковы.Если они одинаковы, мне нужно добавить их в другой список (commonList), и если они окажутся разными, мне нужно добавить их в другой список (differentList).Я написал следующий код:
ClassA clsA = null;
public ArrayList genCommonList(aList, bList)
{
for(int i = 1; i<aList.size(); i++)
{
clsA = new ClassA;
Object obj = aList.get(i);
clsA = (ClassA)obj;
if(bList.contains(clsA)
{
genCommonList.add(clsA);
}
}
public ArrayList genDifferentList(aList, bList)
{
for(int i = 1; i<aList.size(); i++)
{
clsA = new ClassA;
Object obj = aList.get(i);
clsA = (ClassA)obj;
if(!bList.contains(clsA)
{
genDifferentList.add(clsA);
}
}
Моя проблема в том, что даже когда данные (обе переменные, firstId и secondID) в 2 разных POJO одинаковы, они помещаются в другой список.Это означает, что объекты не сравниваются на равенство с помощью метода contains () класса ArrayList.Я не хочу получать данные из каждой переменной внутри POJO и сравнивать.Есть ли способ сравнить POJO для обеих переменных и определить их как равные или неравные?