代码之家  ›  专栏  ›  技术社区  ›  eleven81

<and>是什么意思,例如实现可比较的<biginger>?

  •  6
  • eleven81  · 技术社区  · 17 年前

    在里面 Java 1.4.2 班 java.math.BigInteger Comparable , Serializable .

    Java 1.5.0 java.math.BigInteger 实现接口 可序列化 , Comparable<BigInteger> .

    < 和 > < 和 > 东西

    • 这是什么意思 <BigInteger> 部分 implements
    • 它有什么作用?

    < 和 > < > 首先。

    谢谢

    2 回复  |  直到 8 年前
        1
  •  19
  •   Andrzej Doyle    14 年前

    Java Generics Tutorial . 尖括号之间是一个类型参数-Compariable是一个泛型类,在本例中,尖括号表示该类与其他BigInteger可比。

    关于本例的更多说明,请查看 Javadocs for Comparable 在1.5中。注意,它被声明为 Comparable<T> ,而 compareTo 方法接受类型为的参数 T . T是一个类型参数,在使用接口时“填充”。因此,在本例中,声明您实现了 Comparable<BigInteger> 意味着你必须有一个 compareTo(BigInteger o) Comparable<String> compareTo(String o)

    希望您能从上面的代码片段中看到好处。在1.4中,签名 比较函数 Object 因为所有类型的类都实现了可比性,所以无法确切知道需要什么。但是,对于泛型,您可以指定与特定类具有可比性,然后编写一个更具体的compareTo方法,该方法仅将该类作为参数。

    这里的好处是双重的。首先,你不需要做一个 instanceof 检查并强制转换方法的实现。其次,编译器可以在编译时进行更多的类型检查——您不能意外地将字符串传递到实现 ,因为类型不匹配。编译器能够向您指出这一点要好得多,而不是像在非泛型代码中通常发生的那样导致运行时异常。

        2
  •  5
  •   Community Mohan Dere    9 年前
    推荐文章