小编典典

什么是 C++ 对的等价物在 Java 中?

all

Pair<L,R>Java中有没有很好的理由?这个 C++ 构造的等价物是什么?我宁愿避免重新实现我自己的。

似乎 1.6 提供了类似的东西 ( AbstractMap.SimpleEntry<K,V>),但这看起来很复杂。


阅读 108

收藏
2022-03-03

共1个答案

小编典典

上的一个线程中comp.lang.java.help,Hunter
Gratzner 给出了一些反对PairJava
中存在构造的论点。主要论点是一个类Pair没有传达关于两个值之间关系的任何语义(你怎么知道“第一”和“第二”的意思?)。

一个更好的做法是为每个应用程序编写一个非常简单的类,就像 Mike 提出的那样PairMap.Entry是一对在其名称中带有其含义的示例。

总而言之,在我看来,最好有一个类Position(x,y),一个类Range(begin,end)和一个类,Entry(key,value)而不是一个Pair(first,second)不告诉我它应该做什么的泛型。

2022-03-03