IllegalArgumentException: wrong number of arguments
intro
调用 method.invoke(Object target, Object... args)
方法的方式出错:传入参数个数错误。
起因
我想自动执行某一对象的所有getters
方法,但又不想手动调用,所以利用反射,写了工具方法:
// 执行某对象的所有getters方法public static void invokeGetters(Object obj) {Class clazz = obj.getClass();Method[] methods = clazz.getDeclaredMethods();for (Method method : methods) {if (method.getName().matches("get.*")) {try {System.out.println(method.getName() + " = " + method.invoke(obj));// java.lang.IllegalArgumentException: wrong number of arguments} catch (Exception e) {// e.printStackTrace();}}}}
但报错。
原因:有些方法,如 request.getHeaders(String s)需要传入参数。
那么需要传入参数的getters就不管了(参数个数不为0的getters就不执行)。
判断flag变为:method.getName().matches("get.*") && 0 == method.getParameterCount()
。
即:方法名匹配get.*
模式 且 方法的参数个数为0。才会调用method.invoke(obj)
。
- 修改后的工具方法
public static void invokeGetters(Object obj) {Class clazz = obj.getClass();Method[] methods = clazz.getDeclaredMethods();for (Method method : methods) {if (method.getName().matches("get.*") && 0 == method.getParameterCount()) {try {System.out.println(method.getName() + " = " + method.invoke(obj));} catch (Exception e) {// e.printStackTrace();}}}
}
IllegalArgumentException: wrong number of arguments相关推荐
- Compiled functions can't take variable number of arguments or use keyword-only arguments with defaul
Compiled functions can't take variable number of arguments or use keyword-only arguments with defaul ...
- Hbase的shell出现wrong number of arguments xxx以及undefined method any?for xxxx
我们大概碰到过下面这种情况 ERROR: wrong number of arguments (10 for 6) For usage try 'help "put"' Took ...
- C++工作笔记-hiredis中关于ERR wrong number of arguments for HMSET问题的解决
这里有个坑 使用hiredis的API进行调用时如果是如下命令, hmset userid:1001 username 'xiao ming' 这种语法,使用redis-cli是没有问题的,但如果使用 ...
- ERR wrong number of arguments for ‘srem‘ command
ERR wrong number of arguments for 'srem' command 问题描述 再远程调用redis服务得时候,出现得这个异常,字面意思就是参数不匹配 问题解决 原因是因为 ...
- org.springframework.dao.InvalidDataAccessApiUsageException: ERR wrong number of arguments for ‘srem‘
1.报错信息 org.springframework.dao.InvalidDataAccessApiUsageException: ERR wrong number of arguments for ...
- Error Code: 1318. Incorrect number of arguments for PROCEDURE student.new_procedure; expected 0, got
1.错误描述 13:58:20 call new_procedure('2000','zhangsan') Error Code: 1318. Incorrect number of argument ...
- ERR wrong number of arguments for 'sadd' command
在用spring redis 存储set数据的时候,提示了这个ERR wrong number of arguments for 'sadd' command这个错误,通过调试发现: redisTem ...
- Java反射invoke报错wrong number of arguments
目录 一.问题发生 二.问题解决 1.代码 2. Method.invoke()方法 3.可变参数(重点) 一.问题发生 使用反射调用方法时出现问题,如下图所示: 二.问题解决 1.代码 出问题的代码 ...
- node-redis:ErrorReply: ERR wrong number of arguments for ‘auth‘ command
问题描述 环境 $ node -v v16.14.0# redis-cli 127.0.0.1:6379> info # Server redis_version:5.0.5 版本 packag ...
最新文章
- 设计模式之访问者模式、例子分析
- Kubernetes容器网络及网络模型
- 跨域请求获取Solr json检索结果并高亮显示
- memcached和redis的区别
- 损失函数梯度对比-均方差和交叉熵
- mysql 实现非递归树_二叉树的非递归前序,中序,后序遍历算法
- 计算机网络dns实验报告,计算机网络DNS以及HTTP协议实验报告
- C++读取字符串中的数字的方法
- LINUX系统下监控DELL服务器硬盘状态
- 高等数学复习笔记(二)- 一元函数微分学的概念、计算以及几何应用
- 黑苹果固态硬盘_普通电脑也能尝试:MacOS黑苹果+雷电3硬盘盒测试
- 测试计算机性能的软件比较专业,用什么软件可以测试计算机的整体性能?
- nvme linux读写测试工具,不同硬件平台(intel/AMD)和不同OS/FS/测试工具下NVMe SSD性能简测...
- Mac系统下编译并使用ijkplyer播放器
- 浅谈Nacos中的CAP
- S2ANet(Align Deep Features for Oriented Object Detection)解读
- 常见的状态码HTTP Status Code
- Python学习笔记第二十九天(N维数组(ndarray))
- 关于state和status
- python3图片处理(笔记)
热门文章
- Windows fatal exception: access violation / Process finished with exit code -1073741819 (0xC0000005)
- 将 C# .NET ( Core Framework ) WPF Winform 项目打包成单个 exe 可执行文件
- C51蜂鸣器演奏两只老虎
- 【JDBC】JDBC 简介 ( JDBC 概念 | JDBC 本质 | 使用 JDBC 操作数据库的好处 | JDBC 提供的 API 组件 )
- Android-PickerView的简单封装与使用
- promise的实例方法、静态方法
- 英语学习经验分享(四六级、竞赛、口语)
- 使用Weka进行数据可视化
- CentOS修改hosts文件及生效命令
- arnold如何设置鱼眼相机_关于C4D阿诺德的摄像机参数详解