什么是Map <myclasstype1,object> </myclasstype1,object>的类

时间:2013-04-24 10:09:50

标签: java

我必须将Map<ClassType1,Object>的类传递给构造函数。如果我只通过Map.class,我有一个错误。所以我想知道Map<MyClassType1,Object>的类是什么?

public class GetSessionRequest extends SpiceRequest<Map<ClassType1, Object>> {

    private Client mClient;
    public GetSessionRequest(Class<Map<ClassType1, Object>> clazz) {
        super(clazz);
    }

    public GetSessionRequest(Client client) {
        super(/*What should I pass here. I can't pass Map.class*/); 
        mClient = client;
    }


    @Override
    public Map<ClassType1, Object> loadDataFromNetwork() throws Exception {
        Map<ClassType1, Object> map = mClient.getSession();
        return map;
    }

}

5 个答案:

答案 0 :(得分:2)

我认为你的意思是这样的:

public class T {
    public T(Class<Map<MyClassType1, Object>> cls) {
    }
}

但你需要这个:

public class T {
    public T(Class<? extends Map<MyClassType1, Object>> cls) {
    }

    public static void main(String[] args) {
        Map<MyClassType1, Object> m = new HashMap<MyClassType1, Object>();
        T t = new T(m.getClass());
    }
}

答案 1 :(得分:1)

Map是一个界面。有许多实现可用,例如HashMap

答案 2 :(得分:1)

如果它允许地图interfacemethod or constructor可以允许任何implementation Map interface

答案 3 :(得分:0)

Map没有构造函数,它是一个界面,您可以使用HashMap<ClassType1,Object>TreeMap<ClassType1,Object>

答案 4 :(得分:0)

地图&LT;&GT;是一个类似List&lt;&gt;的界面和接口没有构造函数。您必须使用HashMap,TreeMap或任何实现该接口的类。