在JavaScript中,可以按照以下方式做一些事情:
var qwerty = (function() {
//some code
return returnValue;
}
这会将 returnValue 分配给 qwerty 。有没有办法用Java做类似的事情?像这样:
int num = {
public int method() {
//some code
return val;
}
}
我知道我可以写出一个单独的方法,但是我想以与上面类似的方式来做,因为它在我编写的代码中看起来更加整洁。
答案 0 :(得分:4)
由于您的function
未指定任何参数,因此您最有可能寻找IntSupplier
功能界面:
IntSupplier supplier = () -> {
int val = ...;
//some code
return val;
};
int num = supplier.getAsInt();
如果您真的要内联,则可以使用以下内容(该内容不可读,因此我不推荐使用):
int num = ((IntSupplier) () -> {
int val = ...;
//some code
return val;
}).getAsInt();
由于上述IntSupplier
未存储在变量中,因此在逻辑上等同于以下内容:
int val = ...;
//some code
int num = val;