<和>是什么意思,例如实施可比?
-
19-08-2019 - |
题
在 Java 1.4.2, , 班级 java.math.BigInteger
实现接口 Comparable
, Serializable
.
在 Java 1.5.0, , 班级 java.math.BigInteger
实现接口 Serializable
, Comparable<BigInteger>
.
这只是帮助我问的一个例子 <
和 >
. 。我真正想知道的是 <
和 >
东西。
我的问题是三倍:
- 什么是
<BigInteger>
的一部分implements
陈述意思? - 该语法叫什么?
- 它做什么?
PS:Google真的很难 <
和 >
并且不可能搜索 <
和 >
首先。
谢谢!
解决方案
阅读 Java Generics教程. 。角括号之间的事物是类型参数 - 可比性是通用类,在这种情况下,角括号意味着该类可与其他BigIntegers媲美。
为了在这种情况下进行更多澄清,请看一下 Javadocs可比 在1.5中。请注意,它被声明为 Comparable<T>
, ,那 compareTo
方法参数类型 T
. 。 T是使用接口时“填充”的类型参数。因此,在这种情况下,宣布您实施 Comparable<BigInteger>
意味着您必须有一个 compareTo(BigInteger o)
方法。另一个类可能实现 Comparable<String>
意味着它必须实施 compareTo(String o)
方法。
希望您能看到上述片段的好处。在1.4中,签名 compareTo
只能去 Object
由于所有类型的类都可以进行可比,因此无法确切知道需要什么。但是,使用仿制药,您可以指定与特定类相可比性,然后编写一个更具体的比较方法,该方法仅将该类作为参数。
这里的好处是两个方面。首先,您不需要做 instanceof
检查方法的实现。其次,编译器可以在编译时间进行更多类型检查 - 您不能意外地将字符串传递到实施的东西中 Comparable<BigInteger>
, ,因为类型不匹配。编译器能够向您指出这一点要好得多,而不是像非类别代码中通常发生的那样引起运行时例外。
其他提示
我很确定是仿制药
http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html
我问了类似的东西(c#),那里有有用的信息 方法是什么u003CClassName>意思是?