如何在lambda表达式中创建变量?

zpgglvta  于 2021-07-14  发布在  Java
关注(0)|答案(1)|浏览(401)

这可能是一个愚蠢的问题,但我似乎找不到任何好的资源。
我目前拥有以下lambda:

  1. public static final Predicate<Path> TEXT = path -> (path.toString().toLowerCase().endsWith(".txt") || (path.toString().toLowerCase().endsWith(".text")));

我想把path.tostring().tolowercase结果应用到一个变量,这样我就可以简单地调用:

  1. (result.endsWith(".txt") || result.endsWith(".text"))

如何在lambda表达式中执行此操作?

8cdiaqws

8cdiaqws1#

对于lambda表达式体,必须使用块而不是表达式:

  1. public static final Predicate<Path> TEXT = path -> {
  2. String result = path.toString().toLowerCase();
  3. return result.endsWith(".txt") || result.endsWith(".text");
  4. };

相关问题