Java中的NamedTuple替代品是什么?

时间:2019-04-08 11:55:49

标签: java python transpiler

我正在尝试将一些python代码转换为java,遇到的障碍之一是使用namedtuple。看来Java没有使用元组,所以我想知道我可以用什么替代。

#part of the python code:

@staticmethod
def stream_file(fieldnames, id):
   tuple = namedtuple("RECORD", " ".join(fieldnames))
   ...
   data = [x for x in arr]
   yield tuple._make(data)

1 个答案:

答案 0 :(得分:1)

您可以使用地图。有不同的实现方式,都有不同的优势。

HashMap提供了一个基于哈希键的映射,这是Java中所有对象固有的。

如果要通过可比较的值(例如String)定义标识,则TreeMap更好。

地图可以按类型输入,但不能按值输入。我相信,您正在寻找的是TreeMap<String, Object>,它将允许您从字符串(标识符或ID)映射到对象。但是,对象的类型通常是匿名的,您可能需要大量instanceof。但这似乎可以满足您的要求。