当前位置: 首页 > 知识库问答 >
问题:

使用Java内部类存储一个人的多个角色

凌啸
2023-03-14

这里有一个问题:

我正在制定一个计划,将公司的员工分配到不同的部门,并为他们在团队中建立不同的角色。

所以一个员工可以在多个团队中。每个团队,他们会有不同的角色。

因此,我创建了一个接口角色,并将其实施到 TeamHead 类和团队成员中,这样,一旦员工加入团队,我就可以为他们建立角色。

但是,由于员工可以是团队1中的< code>TeamHead和团队2中的< code>TeamMember。我不确定如何区分它以产生不同的结果。

所以我想在Employee类中创建一个内部类。

public class Employee
{
    private class TeamAndRole
    {
        Team t;
        Role r;

        public TeamAndRole(Team t, Role r)
        {
            this.t = t;
            this.r = r;
        }
    }

    private ArrayList<TeamAndRole> tar;

    public Employee(){
        this.tar = new ArrayList<>();
    }

    //..........
}

因此,数组list tar将存储属于该员工的所有团队和角色,供以后使用。

那么这是一个正确的方法吗?如果是这样,我如何正确地实施它?

谢谢。

共有1个答案

丁德义
2023-03-14

你为什么不使用地图呢?(如果他们在团队中只能有一个角色)

并使用2种方法检查员工是否在团队中以及他/她担任的角色

private final Map<Team,Role> roles;

public boolean isMember(Team team) {
  return roles.containsKey(team);
}

public Role getRole(Team team) {
  return roles.get(team);
}

具有错误处理和空值检查的 ofc

 类似资料:
  • 我需要传递两种不同的数据类型,一种是食物对象,另一种是整数。 我将这些作为食物对象及其各自的数量传递给餐馆类方法来准备订单。我应该用这些属性创建另一个类,还是有其他方法?

  • 我可以重写,以便它将其数据存储在map中,但这意味着每个方法还需要传递另一个参数。变成,变成,看起来太难看了。操作还需要传递。 据我所知,另一种方法是创建一个存储库,它将管理的数据,并调用操作来重新初始化它。 这种方法的问题是,如果我们有两个(A和B),并且活动容器是A,因此包含在A中呈现的项,容器B仍然会监听的更改。如果检查是方法中的活动容器,我可以添加检查,但我不确定应该这样做。

  • 我正在尝试使用gson从JSON对象反序列化数据。我有麻烦1)设计一个类。2)从内部列表对象获得一个空对象。 以下是JSON对象的示例 下面是我为json对象创建的类的一个示例,该类将与使用java的gson一起使用 下面是使用gson的示例代码 任何帮助都将不胜感激,我对GSON和检索JSON对象非常陌生。非常感谢你

  • 要检查多个角色是否具有方法级访问权限 我已使用@PreAuthorize annotation检查角色 @preAuthorize("hasRole(\""AuthoritiesContain. USER "\",)" ) 如何使用@PreAuthorize注释检查多个角色?

  • 我正在为一个项目制作购物车脚本。购物车已经创建,但现在我正在查询购物车中的产品插入订单表的位置。但是当我这样做的时候,每个产品都有自己的,有没有可能给购物车中的每个产品相同的? 将产品插入订单表的查询: SQL查询如下: 我希望有人能给我一些建议, 提前感谢!

  • 我有一个类“C”,它有一个内部类“Ci”。“C”类继承了“S”类。“S”类也有一个内部类“Si”。“Ci”能继承“Si”吗?非常感谢任何回应的人。 这样的事情可能吗?