Generics Groovy getAt方法中的泛型类型

Generics Groovy getAt方法中的泛型类型,generics,groovy,Generics,Groovy,我正在尝试自己用Groovy MultiMap实现,使用附带的代码。我更喜欢使用Java泛型。但是我对getAt(K)方法有问题 方法get()可以正常工作。但是如果我使用主类中的getAt(): println consPersonsOld.getAt('1111') 调用多重映射的gatAt方法: class MultiMap<K,V> { private Map<K,List<V>> map public List<V> g

我正在尝试自己用Groovy MultiMap实现,使用附带的代码。我更喜欢使用Java泛型。但是我对getAt(K)方法有问题

方法get()可以正常工作。但是如果我使用主类中的getAt():

println consPersonsOld.getAt('1111')

调用多重映射的gatAt方法:

class MultiMap<K,V> {
    private Map<K,List<V>> map

    public List<V> get(K k){
        if(map.containsKey(k)){
            return (map[k])
        }else{
            return([])
        }
    }

    //Instead of [k]
    public List<V> getAt(K k) {
        if(map.containsKey(k)){
            return (map[k])
        }else{
            return([])
        }
    }
}
类多重映射{
私人地图
公共列表获取(K){
if(地图容器(k)){
返回(映射[k])
}否则{
返回([])
}
}
//而不是[k]
公共列表getAt(K){
if(地图容器(k)){
返回(映射[k])
}否则{
返回([])
}
}
}
我将获得附加错误:

线程“main”groovy.lang.MissingPropertyException中出现异常:类:com.tcc.util.MultiMap没有这样的属性:1111 位于org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:67) 位于org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$pogometamethodsiteNounwrapnocerc.invoke(PogoMetaMethodSite.java:225) 位于org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:70) 位于org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) 位于org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) 位于org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128) com.tcc.GroAiaAdd3Main.main(GroAiaAdd3Main.groovy:84)

显然,代码对泛型类型K有问题,因为当我用字符串替换K时,一切都正常。。。。
您知道如何解决此问题吗?

如何初始化实例?非常感谢您的提示…最初在构造函数中只是map=[:]当前构造函数工作:public MultiMap(){//map=[:]map=new HashMap()}