hi im试图访问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
与您的代码一起汇编错误。集合中没有获取方法。
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));
}