如何在一个区块中放置多个方法调用(例如,在下面的情况下得到'?)
Icy-MetaData: 1
我正在阅读关于lambdas的文章,文档谈论单个方法接口。 当我学习一个名为jooby
的网络框架时,我正在学习lambdas答案 0 :(得分:4)
这称为initializer block
,执行两种方法get
。
get
种方法看起来像是String
和BiConsumer
作为输入。除此之外不完全确定其他语法混淆了你。
答案 1 :(得分:0)
这个结构与lambdas无关;我相信自Java 6以来一直存在。语法称为initialization block或instance initializer。 { }
之间的代码被Java编译器复制到类中的每个构造函数。创建类的实例时也会调用该块。您可以将此视为“init”方法的更好替代方法,该方法必须由每个构造函数调用。
请注意,您的User
类正在扩展一个基类,其中get
方法显然是*定义的。你也可以写
{
this.get("/users", (req, resp) -> {
resp.send("Uses index");
});
}
或者
import org.jooby.Jooby;
public class UserRoutes {
{
Jooby jooby = new Jooby();
jooby.get("/users", (req, resp) -> {
resp.send("Uses index");
});
}
}
*通常你会扩展org.jooby.Jooby