像这样创建一个枚举
public enum UserType {
USER_AND_ADMIN, USER, ADMIN, NONE;
}
然后在方法声明中使用它:
... methodName(... , UserType userType, ...) { ...
调用方法时,只需要这样做:
this.contentUrl.getUtils().createType(url, user, content, UserType.USER_AND_ADMIN);
在该方法中,您可以通过使用#name() 方法获得String 表示:
String userTypeAsString = userType.name();
默认情况下,String 表示与变量的名称相同,因此如果您不定义自己的#toString(),它与#name() 完全相同。如果您需要自定义表示,请编写自己的#toString(),并使用它来代替#name()。
我更喜欢在适用的情况下使用#name(),因为您可以确定它没有被覆盖——因为它是Enum 的final 方法。
更新:
如果你真的不想使用enums(虽然我不知道为什么),你可以使用普通的字符串常量:
private static final String USER_AND_ADMIN = "USER_AND_ADMIN";
然后根据值进行分支:
if (userType.equals(USER_AND_ADMIN)) {
....
}
或者,如果您使用的是 Java 7 或更新版本:
switch (userType) {
case USER_AND_ADMIN:
// ...
break;
case NONE:
// ...
break;
default:
break;
}
如果您使用的是enums,则该开关也适用于 Java 7。