В Python вы можете сделать это:Многократное назначение сразу в Java
def f():
return 1, 2, 3
(foo, bar, baz) = f()
Есть ли эквивалент в Java?
В Python вы можете сделать это:Многократное назначение сразу в Java
def f():
return 1, 2, 3
(foo, bar, baz) = f()
Есть ли эквивалент в Java?
tl; dr: Нет, на Java нет такой вещи.
Вы можете присвоить начальные значения переменных следующим образом:
int foo = 1, bar = 2;
Но если хотите (1, 2, 3)
быть результатом вызова метода, это не представляется возможным в Java. Java не позволяет возвращать несколько значений.
Python позволяет это:
def foo():
return 1, 2, 3
a, b, c = foo()
Главное, почему это не работает в Java в том, что левая рука (LHS) выполнения задания должны быть одна переменная:
Wrapper wrapper = WrapperGenrator.generateWrapper();
Вы можете не назначить кортеж на LHS, как вы можете в Python.
Если вы хотите (1,2,3), чтобы быть результатом вызова метода, вы можете использовать массив:
int[] arr = {1,2,3};
Что о типе этого массива? Что, если сложнее, чем 'int []'? –