Java 是否可以直接将方法的返回值赋给变量?
在JavaScript中,可以按照以下方式进行操作:Java 是否可以直接将方法的返回值赋给变量?,java,methods,Java,Methods,在JavaScript中,可以按照以下方式进行操作: var qwerty=(函数(){ //一些代码 返回值; } 这会将returnValue分配给qwerty。在Java中有没有类似的方法?比如: int num={ 公共int方法(){ //一些代码 返回val; } } 我知道我可以写一个单独的方法,但我想用与上面类似的方式来写,因为我正在写的代码看起来更整洁。因为你的函数没有指定任何参数,你很可能在寻找IntSupplier函数接口: IntSupplier supplier =
var qwerty=(函数(){
//一些代码
返回值;
}
这会将returnValue分配给qwerty。在Java中有没有类似的方法?比如:
int num={
公共int方法(){
//一些代码
返回val;
}
}
我知道我可以写一个单独的方法,但我想用与上面类似的方式来写,因为我正在写的代码看起来更整洁。因为你的
函数没有指定任何参数,你很可能在寻找IntSupplier
函数接口:
IntSupplier supplier = () -> {
int val = ...;
//some code
return val;
};
int num = supplier.getAsInt();
如果您真的想要内联它,那么您可以使用以下内容(无法阅读,因此我不推荐):
因为上面的IntSupplier
没有存储在变量中,所以它在逻辑上等同于以下内容:
int val = ...;
//some code
int num = val;
谢谢你的帮助!如果我要跳出预打包Java类的领域,我会创建自定义函数接口吗?不客气!我对此表示怀疑。IntSupplier
只是更通用的Supplier
函数接口的一种特殊形式(其泛型可以是任何类型).我看到供应商没有参数,但是有其他类似的接口吗?例如,如果我有一个数组需要处理。是的,有很多:)我建议阅读以下内容:中有许多预定义的功能接口。您可以开始查看的是Function
和BiFunction
。
int val = ...;
//some code
int num = val;