鉴于一类的东西有一个构造函数public Something(List<String> l),我想用klass.getConstructor(parameterTypes)其中parameterTypes[0]的类java.util.ArrayList(因为我需要"匹配"给定的特定实例),而不是接口java.util.List中.
这不起作用(NoSuchMethodException),因为Java Reflection似乎需要一个EXACT类型类匹配.围绕这个最好的方法是什么?
可能有点矫枉过正,并且无可否认可能会捡到太多的构造函数:
Constructor[] constructors = klass.getConstructors();
for(Constructor constructor:constructors) {
Class<?>[] params = constructor.getParameterTypes();
if(params.length == 1 && params[0].isAssignableFrom(ArrayList.class) {
//Yep could be the one you want.
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2716 次 |
| 最近记录: |