小编sam*_*amm的帖子

在java中从lambda forEach()返回

我试图将一些for-each循环更改为lambda forEach()-methods以发现lambda表达式的可能性.以下似乎是可能的:

ArrayList<Player> playersOfTeam = new ArrayList<Player>();      
for (Player player : players) {
    if (player.getTeam().equals(teamName)) {
        playersOfTeam.add(player);
    }
}
Run Code Online (Sandbox Code Playgroud)

随着lambda forEach()

players.forEach(player->{if (player.getTeam().equals(teamName)) {playersOfTeam.add(player);}});
Run Code Online (Sandbox Code Playgroud)

但下一个工作不起作用:

for (Player player : players) {
    if (player.getName().contains(name)) {
        return player;
    }
}
Run Code Online (Sandbox Code Playgroud)

与lambda

players.forEach(player->{if (player.getName().contains(name)) {return player;}});
Run Code Online (Sandbox Code Playgroud)

最后一行的语法有问题还是不可能从forEach()方法返回?

java foreach lambda return-type java-8

76
推荐指数
4
解决办法
11万
查看次数

重新加载Spark/Jetty-server中的静态文件

我有一个类似的问题在这里描述:

刷新SparkJava提供的静态文件

在我的应用程序中,用户可以将内容上传到一个也提供给用户的文件夹

Spark.staticFileLocation("/public");
Run Code Online (Sandbox Code Playgroud)

特征.我知道SparkJava在启动时只读取该文件夹中的"静态"内容,并且不知道那里的更改.是否可以通过Spark请求Spark(或Jetty)重新加载静态文件夹中的更改?

java jetty static-content spark-java

6
推荐指数
1
解决办法
1230
查看次数

给对象的send-method一个带块的其他方法

这个工作:

Beer.all.send(:sort)
Run Code Online (Sandbox Code Playgroud)

它也适用于块:

Beer.all.sort_by{|b| b.name}
Beer.all.sort_by(&:name)
Run Code Online (Sandbox Code Playgroud)

但是,当我给这样的send-method提供一个可执行块时:

Beer.all.send(:sort_by{|b| b.name})
Beer.all.send(:sort_by(&:name))
Run Code Online (Sandbox Code Playgroud)

我得到语法错误.Ruby中是否有任何替代方法可以为send-method提供可执行块?

ruby metaprogramming ruby-on-rails

5
推荐指数
1
解决办法
401
查看次数