Java 类作为方法参数

朝鲜蓟

我有 36 个扩展角色的子类(超类)。

我正在编写一个方法来查看角色列表,并找到某个子类:

List<Role> roles;

Role getRole(Class subRole) {
    for (Role role : roles) {
         if (role instanceof subRole) return role;
    }
    return null;
}

此方法对于查看列表并找出是否有subClass 的任何实例并获取它很有用。

但显然我没有在方法参数中传递正确的东西。它只是说“未知类:'subRole'”

穆雷尼克

您可以使用以下isInstance方法:

Role getRole(Class<? extends Role> subRole) {
    for (Role role : roles) {
        if (subRole.isInstance(role)) {
            return role;
        }
    }
    return null;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章