gpt4 book ai didi

Java类,具有多种类型的Arraylist

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:59:39 25 4
gpt4 key购买 nike

我是 Android 和 Java 的新手,对我的服务器应用程序通信有疑问。我的服务器总是返回带有“代码”、“消息”和“数据”的 JSON 输出。像这样:

e.g: {"code":200,"msg":"success","data":[{"track_id":123},{"track_id":124},{"track_id":125}]}
e.g: {"code":200,"msg":"success","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;
}

但这是我的问题。我不想将特定类型(如“汽车”、“登录”等)提供给列表。根据我的要求,我想创建一个带有列表类型“汽车”的 ServerResponse 类,另一个带有列表类型“位置”等。

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

如果这里某处已经有解决方案,我很抱歉,但我不知道我必须搜索什么。对于我搜索的内容,我找不到合适的解决方案。

最好的问候迈克尔

最佳答案

研究 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类,具有多种类型的Arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32052376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com