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)类.

Java相关问答推荐

Analyst Idea构建错误:NoClassDefFound错误:javax/html/bind/JAVAX Bwitch [SOLVED]

Spring Boot找不到Mapper bean

使用json参数通过单击jSP文件中的按钮来运行server时出现问题

Java:根据4象限中添加的行数均匀分布行的公式

当我用OkHttpClient重写shouldInterceptRequest来发布数据时,Android WebView正在以纯HTML加载URL内容

如何在Android上获取来电信息

AlarmManager没有在正确的时间发送alert

CAMEL 4中的SAXParseException

Junit with Mockito for java

使用@MappdSuperClass扩展ParentClass&Won t继承ParentClass属性

Java Swing:初始化身份验证类后未检测到ATM_Interface键事件

如何使用SpringBoot中的可分页对整数作为字符串存储在数据库中时进行排序

Log4j与jdk21兼容吗?

在macOS上读取文件会导致FileNotFound,即使文件存在(并且具有权限)

Android Java:已设置但未读取SharedPreferences

在settings.gradle.kts和Build.gradle.kts中使用公共变量

在Ubuntu 23.10上使用mp3创建JavaFX MediaPlayer时出错

Spring Boot中的应用程序.properties文件中未使用的属性

每次我需要时创建和关闭数据库连接会有什么效果吗?

如何在右击时 Select 新行?