gpt4 book ai didi

java - 通用 : extends Number & Comparable Basic understanding

转载 作者:行者123 更新时间:2023-12-03 00:57:23 28 4
gpt4 key购买 nike

class  MyTest<K,V extends Number & Comparable> implements Comparable<MyTest>{

private K key;
private V value;

}

这是什么意思K, V extends Number & Comparable?在上面的语句中 MyTest 正在实现一个可比较的接口(interface),但我无法弄清楚 K,V 以及为什么会有 Number & Comparable。 k,v 不是接口(interface)。有人可以告诉我这一点吗?

最佳答案

此类接受两个通用参数,第一个参数命名为 K (很可能被用作“ key ”),其中第二个被命名为 V (这可能被用作“值”)。

V extends Number & Comparable部分意味着该类仅接受那些 V都扩展 Number 的值抽象类和实现Comparable界面。此类的示例有标准 JDK Integer , Float , Long , DoubleBigInteger 。如果你想使用自己的类如 V ,你应该扩展 Number并实现Comparable同时。对K没有限制应用:您可以使用 K 的任何类。例如,这种类型是有效的:

MyTest<String, Integer> myTest; // K = String, V = Integer

但是这个会导致编译错误:

MyTest<Integer, String> myTest; // K = Integer, V = String, does not implement Number

关于java - 通用 : extends Number & Comparable Basic understanding,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33910306/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com