Ilj*_*lja 1 java conditional if-statement
我想知道哪种方式更适合和有效地实现类似:检查文本是否输入到字段中
if(text1.equals("") || text2.equals("") || text3.equals("") || text4.equals("")) {
//Do Stuff
}
Run Code Online (Sandbox Code Playgroud)
我可以看到超过2个字段如何快速混乱,并想知道这是否是一种正确的方法,或者是否存在替代方案?
你可以这样做:
if (Arrays.asList(text1, text2, etc).contains(""))
Run Code Online (Sandbox Code Playgroud)
但更好的解决方案取决于具体情况.
但请注意,这比当前代码慢一点.但是,如果你不是每秒执行那么多次测试,那应该没关系.
编辑,因为在评论中已经了解到只有空格的字符串也应满足条件......这里是:
private static final Pattern PATTERN = Pattern.compile("\\s*");
private static boolean emptyOrSpacesOnly(final String... strings)
{
for (final String s: strings)
if (PATTERN.matcher(s).matches())
return true;
return false;
}
Run Code Online (Sandbox Code Playgroud)
然后,在代码中:
if (emptyOrSpacesOnly(text1, text2, etc))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
103 次 |
| 最近记录: |