当前位置: 首页 > 知识库问答 >
问题:

我如何根据它们的字段来比较POJO

暨鹭洋
2023-03-14

我基本上是在寻找一个单元测试框架,我可以用它来比较不重写equals和hascode方法的POJO。我看了一下JUnit、Test NG和Mockito,但它们似乎没有解决这个问题。

public class CarBean { 

    private String brand;
    private String color;

    public CarBean (){
    }

    public CarBean (String brand, String color){
        this.brand= brand;
        this.color= color;
    }

    /**
     * @return the brand
     */
    public String getBrand() {
        return brand;
    }

    /**
     * @param the brand to set
     */
    public void setBrand(String brand) {
        this.brand= brand;
    }

    /**
     * @return the color
     */
    public String getColor() {
        return color;
    }

    /**
     * @param the color to set
     */
    public void setColor(String color) {
        this.color= color;
    }
}
CarBean car1 = new CarBean("Ford","Black");
CarBean car2 = new CarBean("Ford","Black");
car1.equals(car2); // This returns false

共有1个答案

刘承悦
2023-03-14

重写pojo类中的toString()方法,如下所示

@Override
public String toString() {
    return "brand: " + this.brand + ",color: " + this.color;
}


car1.toString().equals(car2.toString()); //It will return true if both objects has same values

如果你有很大的NO参数,我会建议你使用bellow代码

public static boolean comparePOJO(Object obj1, Object obj2) {
    return new Gson().toJson(obj1).equals(new Gson().toJson(obj2));
}
comparePOJO(car1,car2); //It will return true
 类似资料:
  • 本文向大家介绍我们如何比较Java中的StringBuilder和StringBuffer?,包括了我们如何比较Java中的StringBuilder和StringBuffer?的使用技巧和注意事项,需要的朋友参考一下 该StringBuffer的 对象通常是安全的使用多线程环境中多个线程可能试图访问同一StringBuffer的 同时对象。该StringBuilder的 是用于替换线程安全Str

  • 我想排序2列表并比较它们,但排序方法不起作用。我有2个字符串列表,其中包括整数。 这些是我的名单 我的getwords方法返回:

  • 我有两个对象数组:

  • 我正在MongoDB中寻找合适的查询来比较关联数组中的两个值,我有这样的文档: 我需要比较 futurePrice 和 price 字段,以查找至少具有一种格式和 futurePrice 的文档 我尝试了这样的东西: 但是好像不行,有办法吗?

  • 我有两个字符串A和B的数组列表,每个都有表格记录。 arraylist中的每个条目都如下所示。整条线是一个条目。 现在,如果将每个逗号分隔的条目视为表中的一个字段。 现在,我从这两个arraylists中,基于field2(在第一行中是b),和Field5,我创建了两个新的arraylists,一个是所有匹配的记录,一个是所有不匹配的记录。 我是java新手,想不出一种方法如何每次拆分数据并将两者