我想返回一个包含Android资源的所有公共方法的列表,作为方法名+ argumets,例如,相机的open(int cameraId),release(),setDisplayOrientation(int degree)等。 所以我创建了这个方法
public List<String> getPublicMethods(String api) throws ClassNotFoundException {
Class clazz = Class.forName("android.hardware.Camera");
Method[] publicMethods= clazz.getDeclaredMethods();
List<String> list=new ArrayList<>();
for (Method met : publicMethods)
list.add(met.getName());
return list;
}
我只能返回一个列表。我如何更改它,使其也返回参数?
答案 0 :(得分:0)
考虑返回HashMap。这将使您可以灵活地返回两个对象。方法名称将用作键,然后参数将用作列表。像
Map<String, List<Object>> values = new HashMap<>();
public Map<String, List<Object>> getPublicMethods(String api) throws ClassNotFoundException {
Map<String, List<Object>> values = new HashMap<>();
Class clazz = Class.forName("android.hardware.Camera");
Method[] publicMethods= clazz.getDeclaredMethods();
List<Object> listArgument = //Get Arguments Here
for (Method met : publicMethods)
values.put(met.getName(), listArgument);
return values;
}
方法名称的字符串 参数列表。