繁体   English   中英

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

[英]What would be “The Best” possible approach in given scenario?

最近我参加了一次面试,我被要求编写一个帮助方法来检查一个字符串或字符串列表是否不是 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;
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM