java - 调用枚举变量时格式化它们
问题描述
有没有办法在调用枚举变量时格式化它们?我的意思是,如果我有下一个枚举:
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"}
}
}
它工作正常,但看起来有点乱。
谢谢!
解决方案
首先,您的代码无法编译,您可以使用三元运算符来检查是否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";
}
推荐阅读
- css - 使用 &.conditionalClass 更改 SCSS $var
- sql - Azure Devops 并行 SQL 备份
- python - winsound.PlaySound() 无法正常工作
- python - Raspberry Pi Zero 上的 CPU 负载启动 python 脚本始终为 100%
- wolfram-mathematica - 为什么 Simplify[1/Sqrt[a] == Sqrt[1/a] 在 Mathematica 中没有给出“真实”的输出?
- javascript - 如何将路径数组转换为树对象?
- c++ - 带有模板特化的标签调度
- javascript - 如何检测某人在输入字段中输入的单位
- excel - Excel If语句检查单元格是否包含某些字符并将它们复制到其他单元格
- google-colaboratory - 文件 b'content/train.csv' 不存在 Google Colab