这里有一个问题:
我正在制定一个计划,将公司的员工分配到不同的部门,并为他们在团队中建立不同的角色。
因此,一名员工可以在多个团队中。每个团队都将扮演不同的角色
因此,我创建了一个接口Role
,并实现到TeamHead
类和TeamMember
中。这样,一旦员工加入团队,我就可以为他们建立角色。
但是,由于一名员工可以是团队1中的TeamHead
,也可以是团队2中的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
将存储属于该员工的所有团队和角色,以供以后使用。
那么,这是一个正确的方法吗?如果是,我该如何正确地实现它?
谢谢。
为什么不使用映射呢?(如果他们在一个团队中只能扮演一个角色(
以及两种方法来检查员工是否在团队中以及他/她担任的角色
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