我正在将一个程序从 C# 翻译成 Java。在 C# 代码中,开发人员使用 Tuple。我需要将此 C# 代码翻译成 Java 代码。因此,Java 是否具有与 C# 的 Tuple 等效的变量类型?
最佳答案
由于类型删除,Java 中无法拥有各种 Tuple
的精确 镜像。 .NET 中的类。但是,这是一个 BSD 许可的 Tuple2
实现。和 Tuple3
对于 Java,它反射(reflect)了 Tuple<T1, T2>
和 Tuple<T1, T2, T3>
来自 .NET 的类型。
- Tuple.java (使用类型推断构造元组的静态方法)
- Tuple2.java
- Tuple3.java
你可以用 Java 而不是 C# 做的一件很酷的事情是:
class Bar extends Foo { }
...
Tuple2<? extends Foo, ? extends Foo> tuple = Tuple.create(new Bar(), new Bar());
在 C# 中,您必须改用强制转换:
Tuple<Foo, Foo> tuple = Tuple.Create((Foo)new Bar(), (Foo)new Bar());
关于java - Java 是否具有与 C# 的元组等效的变量类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16197050/