【发布时间】:2018-07-31 07:31:08
【问题描述】:
我需要比较两个 Pojo 对象并显示结果。
我的方案是将 Db 值与输入文件进行比较。为此,我创建了一个 POJO 类。
POJO 类
public class BuySellTO
{
String fundFamily;
public String getFundFamily() {
return fundFamily;
}
public void setFundFamily(String fundFamily) {
this.fundFamily = fundFamily;
}
读取数据库值的方法
public BuySellTO readDB(String x) throws Exception {
try {
String sqlQuery;
BuySellTO bsDb = new BuySellTO();
if(x.isEmpty() || StringUtils.isBlank(x))
sqlQuery = "----sql query----";
else
sqlQuery = "----sql query----";
ResultSet result = sqlDb.executeSqlQuery(sqlQuery);
while (result.next()) {
bsDb.setFundFamily(result.getString(1).trim());
}
return bsDb;
} catch (Exception e) {
e.printStackTrace();
throw e;
}
在输入文件中读取值的方法
public BuySellTO readFundDetailsInFile(String a, String b) throws Exception
{
try
{
BuySellTO inputTO = new BuySellTO();
String[] data = readBuySellFile(a, b);
if (data != null) {
inputTO.setFundFamily(data[0].trim());
}
else
System.out.println("Record does not exist in the File to store in Array..!!!");
return inputTO;
}
catch(Exception e)
{
e.printStackTrace();
throw e;
}
}
在这里,我将有“n”个字段。所以我需要一一比较并打印结果。
我可以使用下面的方法直接比较。
比较
public static boolean comparePOJO(Object obj1, Object obj2) {
return new Gson().toJson(obj1).equals(new Gson().toJson(obj2));
}
请提供您的想法以单独比较每个对象。
【问题讨论】:
-
这取决于您要比较的内容。如果您只想知道两个对象是否相等,请覆盖
equals方法。如果您想找到差异,可以使用反射来访问所有字段。