如何将多个方法调用(例如,下面的情况下的“get”)放入块中?
package Routes;
import org.jooby.mvc.Path;
public class UserRoutes extends BaseRoutes {
{
get("/users", (req, resp) -> {
resp.send("Uses index");
});
get("/user/:id", (req, resp) -> {
resp.send("Single user page");
});
}
}我正在阅读有关lambdas的文章,文档中提到了一个方法接口。当我学习一个名为朱比的web框架时,我正在学习lambda。
发布于 2017-05-06 05:29:38
这称为initializer block,它执行两个方法get。
这个get方法看起来像以一个String和一个BiConsumer作为输入。除此之外,不完全确定是什么其他语法混淆了你。
发布于 2017-06-01 14:36:15
这个构造与lambda无关;我相信从Java 6开始就已经存在了。语法称为初始化块或实例初始化器。在{ }之间的代码由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
https://stackoverflow.com/questions/43816884
复制相似问题