调用枚举变量时,是否有任何格式化方法?我的意思是,如果我有下一个枚举:
public enum Error{
IS_NULL("The variable {NAME_OF_VARIABLE} cannot be null.")
}
因此,当我调用它时,我想将{NAME_OF_VARIABLE}替换为null变量。例如:“变量{phone_number}为空。”
现在我使用下一个构造:
enum Error{
IS_NULL("The variable {%s} cannot be null.")
public String errorMsg;
}
public String validatePhoneNumber(String phoneNumber){
if(phoneNumber == null){
return String.format(Error.IS_NULL.errorMsg, "phoneNumber")}
return "OK"}
}
}
它工作正常,但看起来有点混乱。
谢谢!
答案 0 :(得分:3)
首先,您的代码无法编译,您可以使用三元运算符检查phoneNumber
是否为空。
给出枚举:
enum Error {
IS_NULL("The variable {%s} cannot be null.");
public String errorMsg;
private Error(String errorMsg) {
this.errorMsg = errorMsg;
}
}
验证方法可以简化为
public static String validatePhoneNumber(String phoneNumber) {
return phoneNumber == null ? String.format(Error.IS_NULL.errorMsg, "phoneNumber") : "OK";
}
答案 1 :(得分:2)
使用Optional
可以做到以下几点:
public String validatePhoneNumber(String phoneNumber) {
return Optional.ofNullable(phoneNumber)
.map(a -> String.format(Error.IS_NULL.getErrorMsg(), "phoneNumber"))
.orElse("OK");
}