Java中没有Pair<L,R>
是有充分理由的吗?什么是等效的C++构造?我宁愿避免重新实现自己的目标.
1.6似乎提供了类似的功能(AbstractMap.SimpleEntry<K,V>
),但这看起来相当复杂.
Java中没有Pair<L,R>
是有充分理由的吗?什么是等效的C++构造?我宁愿避免重新实现自己的目标.
1.6似乎提供了类似的功能(AbstractMap.SimpleEntry<K,V>
),但这看起来相当复杂.
在a thread on comp.lang.java.help
中,Hunter Gratzner给出了一些反对Java中存在Pair
构造的论点.主要论点是,类Pair
没有传达关于这两个值之间关系的任何语义(你怎么知道"第一"和"第二"是什么意思?).
更好的做法是为Pair
个类的每个应用程序编写一个非常简单的类,就像Mike建议的那样.Map.Entry
是一对在其名称中包含其含义的例子.
总而言之,在我看来,最好有Position(x,y)
类、Range(begin,end)
类和Entry(key,value)
类,而不是没有告诉我它应该做什么的通用Pair(first,second)
类.