Java反射newInstance抛出IllegalArgumentException

问题描述 投票:0回答:1

我在使用 newInstance 时遇到 IllegalArgumentException。

enter image description here

如您所见,一切似乎都很好。它找到该类及其具有 9 个参数的构造函数,我什至可以在调试模式下创建 Client 对象。但在运行程序时,它会抛出错误: IllegalArgumentException 参数数量错误,并且我的 testDataObject 为 null。

这是我尝试构建的类:

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NonNull;
import lombok.Setter;

@Getter
@Setter
@AllArgsConstructor
public class Client {

    @NonNull
    private String firstName;
    @NonNull
    private String surname;
    @NonNull
    private String email;
    @NonNull
    private String password;
    @NonNull
    private String address;
    @NonNull
    private String zip;
    @NonNull
    private String city;
    @NonNull
    private String phone;
    @NonNull
    private String taxNumber;
java reflection
1个回答
0
投票

我添加了两件事使其发挥作用:

constructors[0].setAccessible(true);

我已将类型参数更改为 Object[] 并将其直接传递给构造函数

© www.soinside.com 2019 - 2024. All rights reserved.