首页 >Java >java教程 >C 的'Pair”在 Java 中的等价物是什么?为什么没有直接的类似物?

C 的'Pair”在 Java 中的等价物是什么?为什么没有直接的类似物?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-19 17:30:14897浏览

What's the Java Equivalent of C  's `Pair` and Why Isn't There a Direct Analogue?

Java 等价于 C 对

问题:

虽然 Java 1.6 中有 Map.Entry,它没有 C 的直接等效项的对。缺席背后的原因是什么?Java 中合适的替代方法是什么?

答案:

缺席原因:

Hunter Gratzner 在 comp.lang.java.help 线程中提出了反对在中引入 Pair 构造的论点爪哇。主要的问题是 Pair 类缺乏关于其两个值之间关系的显式语义。如果没有具体的命名,就不清楚“第一”和“第二”值代表什么,这使得理解代码的意图更具挑战性。

合适的替代方案:

推荐的方法是为每个预期用例创建简单且特定的类。例如,像 Position(x,y) 这样更具描述性的类代替 Pair(x,y),可以更清楚地传达两个值之间的关系。类似地,对于 Range(begin,end) 和 Entry(key,value)。

Map.Entry 作为有限等价物:

虽然 Map.Entry 提供了一对- 类似的功能,它特定于键值映射,限制了它的通用目的

结论:

Java 鼓励创建专门且有意义的类来明确传达预期用途,而不是诉诸通用的 Pair 类。这种方法增强了代码的可读性和理解性,同时避免了与通用 Pair 类型相关的语义歧义。

以上是C 的'Pair”在 Java 中的等价物是什么?为什么没有直接的类似物?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn