我想我们需要更多的细节,因为它不清楚你的情况是什么,但是,假设你有一些类MyClass
(也许是一个类抽象类)没有实现Comparable
,但如果你希望这个类的一些子类实现Comparable
。
public void add(MyClass obj) {
...
...
// We execute some logic, and if we get to this point, we can be sure that obj is
// *supposed* to be of a subclass that implements Comparable.
if (((Comparable)obj).compareTo(otherObj) < 0) {
如上所示,您可以使用演员将obj
作为Comparable
,然后您可以使用compareTo
方法。 (您不能直接在Java中的一个Comparable
使用<
)。如果我们的假设是错误的,obj
真的不是一个Comparable
,那么ClassCastException
会在运行时抛出。
你也可以事先检查是这样的:
if (obj instanceof Comparable) {
int comparison = ((Comparable)obj).compareTo(otherObj);
...
} else {
doSomethingUnusualBecauseObjIsntReallyComparable();
}
来源
2014-09-22 00:10:17
ajb
什么是'J'?通用?你可以通过像'' –
MadProgrammer
2014-09-21 23:37:40