MultiValueMap get values



hi im试图访问hashmap中的多瓦伊玛普

这是我在 projectDetails Hashmap

内的hashmap
private HashMap<String, ClassDetails> classDetailsMap = new HashMap<String, ClassDetails>();

内部classDetailsMap我有MultiValueMap称为methodDetailsMap

private MultiMap<String, MethodDetails> methodDetailsMap = new MultiValueMap<String, MethodDetails>();

当我试图访问

methodDetailsMap
        Set<String> methodNamesSet = projectDetails.getClassDetailsMap().get(cls).getMethodDetailsMap().keySet();
    String[] methodNames = methodNamesSet.toArray(new String[0]);
    for (int i = 0; i < methodNames.length; i++) {
        String methodName = methodNames[i];
        System.out.println(cls + " "+methodName);
        //codes used to access key values
        Collection coll = (Collection) methodNamesSet.get(methodName);
        System.out.println(cls + " "+methodNamesSet.get(methodName));
    }

我遇到了一个错误 get说无法解析方法get(java.lang.string(

是否有任何方法可以访问MultivalUemap

与您的代码一起汇编错误。集合中没有获取方法。

MethodNamesset.get(MethodName(

要获取方法详细信息,请首先循环浏览集合,然后从下面的MethodDetailsmap获取方法详细信息。

MultiValueMap<String, MethodDetails>  methodDetailsMap = projectDetails.getClassDetailsMap().get(0).getMethodDetailsMap();
       Set<String> methodNamesSet = methodDetailsMap.keySet();
        for(String str: methodNamesSet) {
                System.out.println(methodDetailsMap.get(str));
        }

我阅读了您的代码,并且据我了解,您首先需要获得cls类的所有方法名称,然后您想一个一个一个。因此,在for循环中,您需要从getMethodDetailsMap()中进行get。这将为您提供帮助:

for (int i = 0; i < methodNames.length; i++) {
            String methodName = methodNames[i];
            System.out.println(cls + " "+methodName);
            //codes used to access key values
            Collection coll = projectDetails.getClassDetailsMap().get(cls).getMethodDetailsMap().get(methodName);
            System.out.println(cls + " "+methodNamesSet.get(methodName));
        }

最新更新