反射报错java.lang.IllegalArgumentException: wrong number of arguments
Posted LEEEASON
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反射报错java.lang.IllegalArgumentException: wrong number of arguments相关的知识,希望对你有一定的参考价值。
class Person{ private String name ; private String sex ; public Person(){ System.out.println("c"); } public Person(String c1){ this.name =c1; System.out.println("c1"+c1); } public Person(String c1,String c2){ this.name =c1; this.sex =c2; System.out.println("c1"+c1 +"c2"+c2); } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } }
public static void main(String [] args){ try { Class<?> clazz = Class.forName("com.leeeason.miaosha.Person") ; // 取得Class对象 Constructor<?>[] constructors = clazz.getConstructors(); System.out.print(constructors.length); Object o = constructors[0].newInstance(); } catch (Exception e) { e.printStackTrace(); } }
报错java.lang.IllegalArgumentException: wrong number of arguments
因为构造函数取值的时候是从下往上 从0开始
public static void main(String [] args){ try { Class<?> clazz = Class.forName("com.leeeason.miaosha.Person") ; // 取得Class对象 Constructor<?>[] constructors = clazz.getConstructors(); //System.out.print(constructors.length); //修改后 Object o = constructors[2].newInstance(); } catch (Exception e) { e.printStackTrace(); } }
返回成功
以上是关于反射报错java.lang.IllegalArgumentException: wrong number of arguments的主要内容,如果未能解决你的问题,请参考以下文章
为啥 FileChannel.map 占用了 Integer.MAX_VALUE 的数据?
带有 JPA 的 Spring Boot:将 @Entity 移动到不同的包