嗨,我试图访问一个Hashmap中的MultiValueMap
这是我的HashMap里面的projectDetails
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
最佳答案
它是您的代码的编译错误。 Set中没有get方法。
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));
}
关于java - MultiValueMap获取值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56211499/