java - 有没有更简洁的方法来实现这一点?

标签 java

是否有更简洁的方法来完成此任务?

private boolean fieldLockExists(String tableName, String fieldName, Integer id)
{
  List<MpFieldLocks> fieldLocks = getFieldLocks(tableName, id);
  boolean exists = false;

  for (MpFieldLocks fieldLock: fieldLocks)
  {
    if (Objects.equals(fieldLock.getFieldName(), fieldName))
    {
      exists = true;
      break;
    }
  }

  return exists;
}

我知道我可以从 for 循环中返回以使其更短。如果可能的话,我正在寻求更根本的改变。

在 C# 中我可能会使用 LINQ。在 Java 中,我不确定。

最佳答案

如果您使用的是 Java 8,则可以使用流:

private boolean fieldLockExists(String tableName, String fieldName, Integer id)
{
    return getFieldLocks(tableName, id)
        .stream()
        .anyMatch(fl -> Objects.equals(fl.getFieldName(), fieldName));
}

关于java - 有没有更简洁的方法来实现这一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27320210/

相关文章:

Java - 日期时区转换

java - 优先级队列方法通过简单的递减返回最小值

java - 域名服务器地址的正则表达式

java - 通过正则表达式查找没有外部 `{}` 的 `{}` 部分

java - 计算 xml 文件中的节点

java - mysql数据库搜索文本真的很慢

java - 如何使用远程 View 在所有 Android 平台的通知中显示进度条

java - 重新加载 java.net.http.HttpClient 的 SSLContext

java - 在 netbeans Java DB 数据库或 Sqlite 中拥有图像

java - 为什么我在 Java/Android 中得到空 SQLite 字段的 "0.0"?