【问题标题】:Unpacking array/collection in Java在 Java 中解包数组/集合
【发布时间】:2018-10-26 05:49:04
【问题描述】:

在 Python 和 C# 中,如果您有一个元组/列表,您可以使用以下内容对其进行解包:

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

然后是a = 1b = 3

在我看来,Java 没有元组,但如果我有一个已知大小的Vector 或原始[] 数组,Java 中是否有类似的数组/向量解包习惯用法? 目前我正在使用以下解决方案。

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

其中 arr 是真实元组的替代。

我愿意接受任何完成类似行为的答案,即使它涉及外部库/附加类/等

【问题讨论】:

  • Java 没有任何形式的元组解包。
  • 但是一个好问题。

标签: java arrays tuples iterable-unpacking


【解决方案1】:

不,在 Java 中不能以这种方式解包元组、向量、数组或任何其他集合类型。

外部库对您没有帮助,因为这是语言本身的问题。

【讨论】:

    【解决方案2】:

    Java 没有元组。没有办法返回多个元素,然后将它们存储在多个变量中。 您所能做的就是返回一个具有多个字段的对象。但是,这绝不等同于元组。

    【讨论】:

    • 这不仅是错误的(Java 在标准库中确实有元组),而且您总是可以以数组或列表的形式返回多个对象。似乎没有内置的方法来解压它们。
    【解决方案3】:

    您可以使用来自javafx.util.PairPair

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-26
      • 2012-01-24
      相关资源
      最近更新 更多