当参数为 varargs 时的 Class.getMethod
我需要调用 Class.getMethod(java.lang.String, java.lang.Class...) 获取其中一个可变参数参数是可变参数的方法。
目前我正在尝试:
// to get jdbcTemplate.queryForObject(RowMapper, Object...)
jdbcTemplate.getClass().getMethod("queryForObject", RowMapper.class, Object.class);
毫不奇怪,
Caused by: java.lang.NoSuchMethodException: org.springframework.jdbc.core.simple.SimpleJdbcTemplate.queryForObject(java.lang.String, org.springframework.jdbc.core.RowMapper, java.lang.Object)
at java.lang.Class.throwNoSuchMethodException(Class.java:283)
at java.lang.Class.getMethod(Class.java:825)
我该如何做到这一点?
I need to call Class.getMethod(java.lang.String, java.lang.Class...) to get a method where one of the varargs parameters is a varargs.
Currently I'm trying:
// to get jdbcTemplate.queryForObject(RowMapper, Object...)
jdbcTemplate.getClass().getMethod("queryForObject", RowMapper.class, Object.class);
Which results, not surprisingly in
Caused by: java.lang.NoSuchMethodException: org.springframework.jdbc.core.simple.SimpleJdbcTemplate.queryForObject(java.lang.String, org.springframework.jdbc.core.RowMapper, java.lang.Object)
at java.lang.Class.throwNoSuchMethodException(Class.java:283)
at java.lang.Class.getMethod(Class.java:825)
How can I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要提供一个数组类型:
基本上,可变参数参数是一个数组,只是有一点额外的元数据告诉编译器允许将该数组指定为元素序列而不是单个元素表达。
You need to provide an array type instead:
Basically a varargs parameter is an array, just with an extra bit of metadata telling the compiler to allow that array to be specified as a sequence of elements instead of a single expression.