Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以直接将方法的返回值赋给变量?_Java_Methods - Fatal编程技术网

Java 是否可以直接将方法的返回值赋给变量?

Java 是否可以直接将方法的返回值赋给变量?,java,methods,Java,Methods,在JavaScript中,可以按照以下方式进行操作: var qwerty=(函数(){ //一些代码 返回值; } 这会将returnValue分配给qwerty。在Java中有没有类似的方法?比如: int num={ 公共int方法(){ //一些代码 返回val; } } 我知道我可以写一个单独的方法,但我想用与上面类似的方式来写,因为我正在写的代码看起来更整洁。因为你的函数没有指定任何参数,你很可能在寻找IntSupplier函数接口: IntSupplier supplier =

在JavaScript中,可以按照以下方式进行操作:

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;