java - 在给定场景中 “The Best” 可能的方法是什么?

标签 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;
}

最佳答案

考虑到您在分配给变量“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/

相关文章:

java - android:ListView中的困惑选择

java - 如何使用 jdbc 在 oracle 10g 中插入大型 clob 数据(> 4K 字符)

android - 如何在 android 上的对话框中管理返回堆栈

android - 防止 HttpClient 4 跟随重定向

基于 java 的工具,用于减少 css 规则的数量

java - 为什么 Java 程序需要 "main()"方法?

java - 组、收集器、映射(整数到字符串)、映射(映射到对象)

android - 如何解决 Android BootStrap 按钮点击问题?

java - Android Manifest 自动生成无效权限

java - 如何使项目仅在android中的语句 boolean 值时可见