Java类,具有多种类型的Arraylist

前端之家收集整理的这篇文章主要介绍了Java类,具有多种类型的Arraylist前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是 AndroidAndroid的新手Java并且有关于我的服务器应用程序通信的问题.我的服务器总是返回带有“Code”,“Message”和“Data”的JSON输出.像这样:
e.g: {"code":200,"msg":"success","data":[{"track_id":123},{"track_id":124},{"track_id":125}]}
e.g: {"code":200,"data":[{"type":"car","length":100},{"type":"train","length":500},{"type":"foot","length":3}]}

我想使用这样的类来处理数据:

public class ServerResponse {
    private int code;
    private String msg;
    private List<> data;
}

但这是我的问题.我不想给列表中的“car”,“login”等特定类型.根据我的要求,我想创建一个带有List-Type“car”的ServerResponse-class,另一个带有List-Type“Locations”等.

有没有办法将类ServerResponse与多种类型的ArrayLists一起使用,或者我是否必须为我想要使用的每个列表类型多次复制此类?

对不起,如果这里已有解决方案,但我不知道我要搜索什么.而对于我搜索内容,我找不到适合的解决方案.

最好的祝福
迈克尔

解决方法

查看Java Generic Types.
public class ServerResponse<T> { 
    private int code;
    private String msg;
    private List<T> data;
}

T可以是您想要的任何类型,因此您的列表将是该类型.然后你的getter / setter方法可以返回或接受类型T.

现在让我们假设您的响应是针对Car对象的.你会这样做的

private ServerResponse<Car> mCarResponse = new ServerResponse<>();

现在,您可以像这样在ServerResponse类中放置一个方法.

public class ServerResponse<T> { 
    private int code;
    private String msg;
    private List<T> data;

    public List<T> getResponSEObjectList(){
        return data;
    }
}

您现在将获得一个List< Car>宾语.

猜你在找的Java相关文章