java.lang.reflect.UndeclaredThrowableException
异常解析
通过getMethod(String name, Class<?>… parameterTypes)方法获取指定方法时,通过方法名找到的方法参数和给定的参数不匹配。
问题解决


通过调试发现,反射获取findAll方法参数类型为Integer,而实际为int。这里没有自动拆箱,Integer和int判定为不一致,所以报错。将int修改为Integer即可。
总结
- 对反射技术、自动拆装箱不熟悉。
- 接口参数类型推荐使用引用类型