最近我参加了一次面试,面试要求我编写一个辅助方法来检查字符串或字符串列表是否不为 null 且不为空。
场景:在注册表单(Android - Java)中,我需要检查所有文本字段是否都有内容,然后单击“注册”时,必须显示适当的操作。无需为每个字符输入检查 onTextChanged。仅在单击“注册”按钮时进行检查。
约束:方法应采用 N 个输入。不应只接受一项输入。
以下是我想出的最佳方法:
public static boolean isNotEmpty(String... strList) {
boolean isNotEmpty = true;
for(String str : strList) {
isNotEmpty = isNotEmpty && str != null && str.length() > 0;
}
return isNotEmpty;
}
它按预期工作。但这里有两个问题,如何在 isNotEmpty 变为 false 时立即中断循环。我可以在循环内添加另一个条件,如下所示,但它会为每次迭代添加另一个操作。
public static boolean isNotEmpty(String... strList) {
boolean isNotEmpty = true;
for(String str : strList) {
isNotEmpty = isNotEmpty && str != null && str.length() > 0;
if (!isNotEmpty) {
return false;
}
}
return true;
}
最佳答案
考虑到您在分配给变量“isNotEmpty”时已经创建了 if 条件,为什么不执行以下操作:
public static boolean isNotEmpty(String...strList) {
for (String str: strList) {
if (str == null || str.isEmpty()) return false;
}
return true;
}
关于java - 在给定场景中 “The Best” 可能的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58294603/