java 中这种代码是啥意思

/* compiled from: Taobao */
public class TeslaCardListResponse extends ResponseParameter<Data> {

    /* compiled from: Taobao */
    public static class Data implements Serializable {
        public Map<String, Map<String, List<TeslaTemplateItem>>> cardConfigMap;
    }
}

java中<data>和Map<String, Map<String, List<TeslaTemplateItem>>> 这种表示啥意思?

阅读 1.6k
2 个回答

这是Java种的泛型,如:

List<String> list=new ArrayList<>();

ArrayList就是个泛型类,我们通过设定不同的类型,可以往集合里面存储不同类型的数据类型(而且只能存储设定的数据类型,这是泛型的优势之一)。“泛型”简单的意思就是泛指的类型(参数化类型)。想象下这样的场景:如果我们现在要写一个容器类(支持数据增删查询的),我们写了支持String类型的,后面还需要写支持Integer类型的。然后呢?Doubel、Float、各种自定义类型?这样重复代码太多了,而且这些容器的算法都是一致的。我们可以通过泛指一种类型T,来代替我们之前需要的所有类型,把我们需要的类型作为参数传递到容器里面,这样我们算法只需要写一套就可以适应所有的类型。最典型的的例子就是ArrayList了,这个集合我们无论传递什么数据类型,它都能很好的工作。

Map<key,Vaule> Map集合,第一个是key,第二个是value,value可以是任意Object
Java的集合List或者是Map都是Object

Map<String, Map<String, List<TeslaTemplateItem>>>

所以,上面的可以这样看 Map<String,Map> 里面的Map又可以看成 Map<String,List>

关于泛型,楼上的讲了很清楚了,这里就不说了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题