在python中,您可以执行以下操作:
def f():
return 1, 2, 3
(foo, bar, baz) = f()
Run Code Online (Sandbox Code Playgroud)
在Java中是否有等效项?
小智 6
tl; dr:不,Java中没有这样的东西。
您可以将初始值分配给变量,如下所示:
int foo = 1, bar = 2;
Run Code Online (Sandbox Code Playgroud)
但是,如果您希望(1, 2, 3)成为方法调用的结果,那么在Java中是不可能的。Java不允许返回多个值。
Python允许这样做:
def foo():
return 1, 2, 3
a, b, c = foo()
Run Code Online (Sandbox Code Playgroud)
最主要的原因是,赋值的左侧(LHS)必须是一个变量,这在Java中为何不起作用:
Wrapper wrapper = WrapperGenrator.generateWrapper();
Run Code Online (Sandbox Code Playgroud)
您不能 像在Python中那样在LHS上分配一个元组。
| 归档时间: |
|
| 查看次数: |
3603 次 |
| 最近记录: |