ele*_*n81 6 java generics syntax comparable
在的Java 1.4.2,类java.math.BigInteger实现接口Comparable,Serializable.
在的Java 1.5.0,类java.math.BigInteger实现接口Serializable,Comparable<BigInteger>.
这只是一个例子,可以帮助我询问<和>.什么我真的想知道是<和>东西.
我的问题有三个:
<BigInteger>部分implements是什么意思?PS:这真的很难给谷歌<和>也不可能这么搜索<和>摆在首位.
谢谢!
And*_*yle 19
阅读Java Generics Tutorial.尖括号之间的东西是一个类型参数 - Comparable是一个泛型类,在这种情况下,尖括号表示该类与其他BigIntegers相当.
有关这种情况的更多说明,请查看1.5中的Comparable的Javadocs.请注意,它被声明为Comparable<T>,并且该compareTo方法采用类型的参数T.T是在使用接口时"填充"的类型参数.因此,在这种情况下,声明实现Comparable<BigInteger>意味着您必须拥有一个compareTo(BigInteger o)方法.另一个类可能实现了Comparable<String>必须实现compareTo(String o)方法的含义.
希望您能从上面的代码段中看到好处.在1.4中,签名compareTo只能采用一种,Object因为各种类都实现了Comparable,并且没有办法确切知道需要什么.但是,对于泛型,您可以指定您与特定类相比较,然后编写一个更具体的compareTo方法,该方法仅将该类作为参数.
这里的好处是双重的.首先,您不需要instanceof在方法的实现中进行检查和转换.其次,编译器可以在编译时进行更多的类型检查 - 您不能意外地将String传递给实现的东西Comparable<BigInteger>,因为类型不匹配.编译器能够指出这一点要好得多,而不是像非泛型代码中那样导致运行时异常.
我很确定它是泛型
http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html
我问过类似的东西(C#)它有什么有用的信息那么Method <ClassName>是什么意思?
| 归档时间: |
|
| 查看次数: |
2629 次 |
| 最近记录: |