参数为 “List<Class<? extends Object>>”的Java方法

标签 java

我想要一个像这样工作的方法,但我无法访问我传入的对象的属性。我只能调用类方法,如“.getFields()”、“getSuperType()”等。作为 OrderChange 子类的对象有一个 rph 字段,我需要它们的值。我该怎么做?

private boolean validateOrderChange(List<Class<? extends OrderChange>> input, boolean verifyOnly) {
    for (Class<? extends OrderChange> orderChange : input) {
        if (StringUtil.isNullOrEmpty(orderChange.getRph())) {
            return false;
        }
    }
}

最佳答案

在我看来,列表中没有 Class 类型。您的列表被指定包含,而不是OrderChange 类的实例

private boolean validateOrderChange(List<? extends OrderChange>> input, boolean verifyOnly) {
    for (OrderChange orderChange : input) {
        if (StringUtil.isNullOrEmpty(orderChange.getRph())) {
            return false;
        }
    }
}

关于参数为 “List<Class<? extends Object>>”的Java方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17657239/

相关文章:

java - Powermock mockstatic 不能继承最终类

java - 为什么java.lang.VerifyError是什么意思?

javascript - 添加新行后,React.js 从 Mongo DB 更新表

java - 从 `startActivityForResult` 内以 `onClickListener` 开始的 Android Activity 返回字符串返回 null

java - 工厂方法的 Spring 注解

java - 使用 MongoDB Java 驱动程序更新嵌入式文档中的字段?

java - CLI 中的 JUnit 测试等效项

java - int[] 到哈希集 (Java)

java - 如何为所有按钮设置不同的随机数?

Java 文本文件搜索