需要您的帮助。我今天进行了一次编程采访,并提出了这个问题。
请完成以下代码片段以创建一个映射枚举以编辑特权的映射
Map<String, Boolean> userTypeToEditPermission () {
return Stream.____(UserType.____).____(____(Enum::name,UserType::hasEsitPermission));
enum UserType {
ADMIN(true), MODERATOR(true), DEVELOPER(false);
}
private final boolean editPermission;
UserType(boolean editPermission) {
this.editPermission=editPermission
}
public boolean hasEditPermission() {
return hasEditPermission;
}
您的代码段中有一些语法错误,枚举可能看起来像这样:
enum UserType {
ADMIN(true), MODERATOR(true), DEVELOPER(false);
private final boolean editPermission;
UserType(final boolean editPermission) {
this.editPermission = editPermission;
}
public boolean hasEditPermission() {
return editPermission;
}
}
[涉及userTypeToEditPermission()
方法时,我假设他们想要一个从UserType
名称(Enum::name
)到editPermission
(UserType::hasEditPermission
)的映射,您可以创建如下:
return Stream.of(UserType.values()).collect(Collectors.toMap(Enum::name, UserType::hasEditPermission));
这将在所有UserType
值上创建一个流,然后创建上述映射:
{DEVELOPER=false, ADMIN=true, MODERATOR=true}