Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有更简洁的方法来实现这一点?_Java - Fatal编程技术网

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

Java 有没有更简洁的方法来实现这一点?,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 (

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

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;
}
私有布尔字段锁存在(字符串表名、字符串字段名、整数id)
{
List fieldLocks=getFieldLocks(tableName,id);
布尔存在=假;
用于(MpFieldLocks fieldLocks:fieldLocks)
{
if(Objects.equals(fieldLock.getFieldName(),fieldName))
{
存在=真;
打破
}
}
回报存在;
}

我知道我可以从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 8,则可以使用流:

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

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

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

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

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

为什么不在
if
语句中返回呢?这样,您就不需要中断或
存在
变量,对于初学者来说…使用任何具有
any
函数的库/API。我知道我可以从for循环中返回以缩短它。如果可能的话,我正在寻找一个更基本的改变。@mattalxndr:如果你使用Java 8,这是可能的——正如我的回答——但是如果你想要一个更简洁的代码版本,而有一个非常明显的方法可以使它更简洁(而且更可读,依我看)在询问之前,这样做是值得的。为什么不在
if
语句中返回呢?这样,您就不需要中断或
存在
变量,对于初学者来说…使用任何具有
any
函数的库/API。我知道我可以从for循环中返回以缩短它。如果可能的话,我正在寻找一个更基本的改变。@mattalxndr:如果你使用Java 8,这是可能的——正如我的回答——但是如果你想要一个更简洁的代码版本,而有一个非常明显的方法可以使它更简洁(而且更可读,依我看)在询问之前,这样做是值得的。为什么不在
if
语句中返回呢?这样,您就不需要中断或
存在
变量,对于初学者来说…使用任何具有
any
函数的库/API。我知道我可以从for循环中返回以缩短它。如果可能的话,我正在寻找一个更基本的改变。@mattalxndr:如果你使用Java 8,这是可能的——正如我的回答——但是如果你想要一个更简洁的代码版本,而有一个非常明显的方法可以使它更简洁(而且更可读,依我看)在询问之前,这样做是值得的。为什么不在
if
语句中返回呢?这样,您就不需要中断或
存在
变量,对于初学者来说…使用任何具有
any
函数的库/API。我知道我可以从for循环中返回以缩短它。如果可能的话,我正在寻找一个更基本的改变。@mattalxndr:如果你使用Java 8,这是可能的——正如我的回答——但是如果你想要一个更简洁的代码版本,而有一个非常明显的方法可以使它更简洁(而且更可读,依我看)那么,在提出问题之前,这样做是值得的。你的问题比较短,可以并行处理。干得好。你的比较短,可以并行。干得好。你的比较短,可以并行。干得好。你的比较短,可以并行。干得好。