如何比较JAVA中的枚举值

问题描述 投票:0回答:1

我想在用户登录时创建一些东西,如果以User身份登录,则进入第一个模块;如果以admin身份登录,则进入第二个模块。问题是我不知道如何使用枚举来比较用户角色。

for(int i = 0; i < staffCount; i++) {
    if(username.equals(staff[i].GetStaffID()) && pass.equals(staff[i].GetPassword()) && staff[i].GetUserRole().equals("User")){
        System.out.println("hello user");
    }
}

这是我在教职员工类中的枚举声明

enum userRole{
    Admin,
    User
}

这里是设置方法和获取方法

public void SetUserRole(userRole userRole){
    this.userRole = userRole;
}

public userRole GetUserRole(){
    return userRole;
}
java enumeration
1个回答
0
投票

代替

staff[i].GetUserRole().equals("User")

您可能是说

staff[i].GetUserRole().equals(userRole.User)

staff[i].GetUserRole() == userRole.User

作为旁注,根据Java的命名约定,枚举应真正命名为UserRole,其值应为ADMINUSER。像这样:

enum UserRole {
    ADMIN,
    USER
};
© www.soinside.com 2019 - 2024. All rights reserved.