[b]现状 java 5+[/b]
[b]麻烦[/b]
* 直觉上 Number应该是可以 Comparable。
* 接受 Comparable<T> 的方法可以使用 Integer,有时 Integer被包成Number,就不能用了。
[b]讨论[/b]
这样有啥不好。
package java.lang.Number
public abstract class Number implements java.io.Serializable
package java.lang.Integer
public final class Integer extends Number implements Comparable<Integer>
[b]麻烦[/b]
* 直觉上 Number应该是可以 Comparable。
* 接受 Comparable<T> 的方法可以使用 Integer,有时 Integer被包成Number,就不能用了。
[b]讨论[/b]
这样有啥不好。
public abstract class XNumber<T extends XNumber<T>> implements java.io.Serializable,Comparable<T>{
private static final long serialVersionUID = 1L;
}
public final class XLong extends XNumber<XLong> {
private static final long serialVersionUID = 1L;
@Override
public int compareTo(XLong o) {
return 0;
}
}
本文探讨了Java中Number类型未实现Comparable接口的问题,并提出了一种改进方案,即创建泛型抽象类XNumber来继承Number并实现Comparable接口。通过具体实例XLong展示了如何实现该方案。
578

被折叠的 条评论
为什么被折叠?



