【发布时间】:2017-02-06 04:13:25
【问题描述】:
我在 Java 中有两个值,可以是任何类型(基元除外),所以它们都是 Object 类型。我想看看有没有实现 Comparable,如果有,调用 compareTo() 方法比较。
但是,因为 Comparable 是一个泛型接口,所以两个 Object 可以实现,例如 Comparable 和 Comparable,并且不能相互比较。
有什么方法可以判断两个Object是否可以相互比较?
当我考虑到这一点时,我意识到可能有更好的方法来做到这一点,它涉及使用 Object 以外的其他类型,但在这一点上,我只是对我提出的问题感到好奇。
【问题讨论】:
-
您的问题实际上可能是XY Problem,当最好的解决方案是完全使用不同的方法时,您会问“我该如何解决这个代码问题”。考虑告诉我们您正在尝试解决的整体问题,而不是您当前尝试解决的方式。我的猜测是,在后台潜伏着一两个设计模式只是想被使用。
-
@HovercraftFullOfEels 是的,确实如此,所以这个问题现在更多是关于空闲的好奇心,而不是使用此代码的实际意图。我目前正在寻找更好的解决方案来解决这个问题,如果没有成功,我会发布另一个问题,提供更多详细信息。
标签: java generics polymorphism comparable