在给定情况下,什么是“最佳”可能的方法?

时间:2019-10-08 22:03:21

标签: java android

最近我去过一次采访,当时我被要求写一个帮助方法来检查一个字符串或字符串列表是否不为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;
}

1 个答案:

答案 0 :(得分:0)

考虑到分配变量“ isNotEmpty”时已经在创建if条件,为什么不执行以下操作:

 public static boolean isNotEmpty(String...strList) {
  for (String str: strList) {
   if (str == null || str.isEmpty()) return false;
  }
  return true;
 }