[英]Java generic type check for classes with two generic paramters should only hold classes of same type
[英]Same generic type in two different classes in Java
我有两个不同的班级:
class A<K,V> {
B b = new B;
public V get(K k) {
return b.get(k);
}
}
class B<K,V> {
V v;
public V get(K k) {
return v;
}
}
我在类A的get方法中收到一个不兼容的类型错误。
这是否意味着A类的V型与B类的V型不同? 在这种情况下,如何解决此问题? 我可以在返回之前简单地将其转换为V吗?
在A
使用V
进行参数化B
这样,编译器可以确保您的类B
将返回类型V
的对象。
class A<K,V> {
B<K,V> b = new B<K,V>;
public V get(K k) {
return b.get(k);
}
}
更改B b = new B;
在类A
到B<K,V> b = new B<>();
这可以确保通过引用的类型K
和V
的定义中B
用于可变b
匹配了那些的定义内A
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.