gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 17:19:37 24 4
gpt4 key购买 nike

有一个问题:

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

因此一名员工可以在多个团队中。每个团队,他们都会扮演不同的角色。

因此,我创建了一个接口(interface) Role 并将其实现到 TeamHead 类和 TeamMember 中,这样我就可以在员工添加到后为他们建立角色团队。

但是,由于员工可以在 Team1 中担任 TeamHead 并在 Team2 中担任 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<>();
}

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

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

那么这是正确的方法吗?如果是这样,我该如何正确实现它?

谢谢。

最佳答案

为什么不使用 map 呢? (如果他们在一个团队中只能担任一个角色)

并有两种方法来检查员工是否在团队中以及他/她担任什么角色

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 具有错误处理和空检查

关于Java内部类用于存储一个人的多个角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61320738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com