Распаковка массива / коллекции в Java - PullRequest
0 голосов
/ 26 октября 2018

В Python и C #, если у вас есть кортеж / список, вы можете распаковать его следующим образом:

tup = (1, 3)
a, b = tup

Затем a = 1 и b = 3.

Кажется,мне, что у Java нет кортежей, но если у меня есть массив Vector или примитив [] известного размера, есть ли подобная идиома распаковки для массивов / векторов в Java? В данный момент яЯ использую приведенное ниже решение.

a = arr[0]
b = arr[1]

Где arr является заменой для реального кортежа.

Я открыт для любого ответа, который выполняет аналогичное поведение, даже если оно включает в себявнешние библиотеки / дополнительные классы / etc

Ответы [ 3 ]

0 голосов
/ 26 октября 2018

Java не имеет кортежей.Невозможно вернуть несколько элементов, а затем сохранить их в нескольких переменных.Все, что вы можете сделать, это вернуть объект с несколькими полями.Однако это никоим образом не может быть эквивалентом кортежа.

0 голосов
/ 26 октября 2018

Вы можете использовать Pair из javafx.util.Pair.

0 голосов
/ 26 октября 2018

Нет, в Java невозможно таким образом распаковать кортежи, векторы, массивы или любой другой тип коллекции.

Внешние библиотеки вам не помогут, так как это вопрос самого языка.

...