Java - 检查非空/非空字符串,否则分配默认值
Java - 检查非空/非空字符串,否则分配默认值
我正在尝试简化以下代码。
代码应该执行的基本步骤如下:
- 为String分配一个默认值
- 运行一个方法
- 如果方法返回null/空字符串,则保持String的默认值
- 如果方法返回有效字符串,则将String设置为该结果
一个简单的示例可能是:
String temp = System.getProperty("XYZ"); String result = "default"; if(temp != null && !temp.isEmpty()){ result = temp; }
我尝试使用三元运算符进行了另一个尝试:
String temp; String result = isNotNullOrEmpty(temp = System.getProperty("XYZ")) ? temp : "default";
isNotNullOrEmpty()方法
private static boolean isNotNullOrEmpty(String str){ return (str != null && !str.isEmpty()); }
是否可能全部内联执行?我知道我可以做类似这样的事情:
String result = isNotNullOrEmpty(System.getProperty("XYZ")) ? System.getProperty("XYZ") : "default";
但是我调用了相同的方法两次。我希望能够像这样做某事(这是无效的):
String result = isNotNullOrEmpty(String temp = System.getProperty("XYZ")) ? temp : "default";
我希望在同一行中初始化'temp'字符串。这是可能的吗?或者我应该做些什么?
感谢您的建议。
Tim