hashmap中的<k,v =“”>是什么东西,我如何在我自己的类中使用它?</k,>

时间:2013-07-21 00:58:34

标签: java generics collections hashmap instance

我一直试图简单地为&lt;&gt;提供一个名称声明的一部分被称为,没有运气。任何人都可以告诉我它叫什么,我怎么可以在我自己的课堂上使用它?例如,我可能想尝试创建自己的集合,例如使用new MyThing<String>。感谢任何帮助,谢谢!

2 个答案:

答案 0 :(得分:6)

这是该类的泛型类型声明。例如,要指定地图将使用字符串作为键和整数作为值:

Map<String, Integer> mymap = new HashMap<String, Integer>();

答案 1 :(得分:4)

它被称为泛型,以下是如何使用它:

public class MyClass<MyType> {
    private MyType myItem;
    public MyClass(MyType item) {
        myItem = item;
    }
    public MyType getMyItem() {
        return myItem;
    }
}

传统上,类型的名称(在这种情况下为MyType)对于“type”为T,对于“key”和“value”为KV,但我只是让它更容易理解。

然后你可以这样做:

MyClass<String> m = new MyClass<String>("potato");
System.out.println(m.getMyItem()); // prints "potato"