gpt4 book ai didi

java - org.json.simple.JSONArray 设计的不好吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:45:43 27 4
gpt4 key购买 nike

<分区>

我从https://stackoverflow.com/a/20445493/2848676知道以下代码给出错误 type mismatch cannot convert from element type object to string :

ArrayList objectArray = new ArrayList();
for (String str : objectArray) {

编译器在我的 objectArray 声明中警告我 ArrayList is a raw type. References to generic type ArrayList<E> should be parameterized .这一切对我来说都很有意义。解决方法是指定通用类型:

ArrayList<String> stringArray = new ArrayList<String>();
for (String str : stringArray) {

这避免了编译器警告和编译错误。

但我的问题是我正在尝试迭代 ArrayList 的一个子类 org.json.simple.JSONArray而且我无法控制 JSONArray 的实例化方式。因此,我在任何地方都没有看到编译器警告,但我确实在这个 for 中遇到了编译错误。循环代码行:

JSONArray insights = (JSONArray)jsonResult.get("insights");
for (JSONObject insightGroup : insights) {

我知道我可以像这样解决这个问题:

JSONArray insights = (JSONArray)jsonResult.get("insights");
for (int i=0; i<insights.size(); i++) {
JSONObject insightGroup = (JSONObject) insights.get(i);

但是有人可以解释泛型类型的优点吗?特别是,org.json.simple.JSONArray 怎么能在不指定泛型类型的情况下被实例化?是org.json.simple.JSONArray只是设计不好?或者我没有使用 org.json.simple.JSONArray正确吗?

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