等同于具有不同类型/数据模型的2个列表

时间:2018-12-10 08:27:56

标签: java android

我有2个列表:

parallel

数据模型 User1 User2 完全相似,只是它们的类名不同。它们的名称有所不同只是因为我在异构适配器中使用它们,并使用的实例来确定视图类型

我想在某个时候将用户等同于users_。我如何实现这一点,因为简单的类型转换似乎在这里不起作用:

编辑:

User1(除类名外与User2相同)

List<User1> users;
List<User2> users_;

在以下情况下出现错误:

public class User1 {
    private String first_name, last_name;
    private int age;

    public int getAge() {
        return age;
    }

    public String getFirst_name() {
        return first_name;
    }

    public String getLast_name() {
        return last_name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void setFirst_name(String first_name) {
        this.first_name = first_name;
    }

    public void setLast_name(String last_name) {
        this.last_name = last_name;
    }
}

错误为:

必填:void exchangeData(){ users = users_; } ,找到的:List <User1>

甚至

List <User2>

出现相同的错误

1 个答案:

答案 0 :(得分:0)

创建一个接口User(带有所需的getter和setter),并使User1和User2都实现此接口。

现在(如果我正确理解了这个问题),只需使用List<User1>来比较List <User2>List<User>

为什么还要混合骆驼和蛇皮呢?您确定要用getFirstName()而不是getFirst_name()吗?使我的眼睛流血。