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

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

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

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

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

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

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

8cdiaqws

8cdiaqws1#

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

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

相关问题