有效的 Java:了解实现 Comparable 时的解决方法

发布于 2025-01-09 03:13:06 字数 412 浏览 0 评论 0原文

Effective Java 第二版中,Item 12 讨论了实现 Comparable 接口。有一种说法我无法完全理解,并且对例证该说法的具体示例感到好奇。

如果您想将值组件添加到实现Comparable的类中,请不要扩展它;编写一个不相关的类,其中包含第一个类的实例。然后提供一个返回该实例的“view”方法。这使您可以在第二个类上实现您喜欢的任何 compareTo 方法,同时允许其客户端在需要时将第二个类的实例视为第一个类的实例

。 “只是一个包含“值组件”的包装类+第一个类的实例?什么是“视图”方法,吸气剂?如果是这样,这个包装类的客户端如何“在需要时将实例视为第一个类的实例”?

In the 2nd edition of Effective Java, Item 12 discusses implementing the Comparable interface. There is a statement that I can't quite wrap my head around, and was curious about a concrete example exemplifying the statement.

If you want to add a value component to a class that implements Comparable, don't extend it; write an unrelated class containing an instance of the first class. Then provide a "view" method that returns this instance. This frees you to implement whatever compareTo method you like on the second class, while allowing its client to view an instance of the second class as an instance of the first class when needed

So, is the "second class" just a wrapper class containing the "value component" + an instance of the first class? What is the "view" method, a getter? If so, how could the client of this wrapper class "view an instance...as an instance of the first class when needed"?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文