- 最近编程序的时候遇到一个java泛型的语法问题,不知道应该怎样实现,麻烦各位大牛帮忙解答:
-
- 如果父类在类上声明了泛型的话子类可以将泛型类型指定成一个具体类型,比如:
-
- class FatherA<T> {
-
- public void test(T t) {
- ;
- }
-
- }
-
- class ChildA extends FatherA<String>{
- @Override
- public void test(String t) {//这里的 t 类型是 java.lang.String
- t.compareTo(t);//编译通过
- }
-
- }
-
- 可是如果父类直接在方法前声明了泛型的话子类应该如何指定具体类型呢? 比如:
-
- class FatherB {
-
- public <T> void test(T t) {
- ;
- }
-
- }
-
-
- class ChildB extends FatherB {
- @Override
- public <String> void test(String t) { //这里的 t 其实是泛型的 并不是java.lang.String类型
- t.compareTo(t);//编译不通过
- }
-
- }
-
-
- 请教各位大牛,ChildB 继承的 test方法能指定成java.lang.String类型吗?
复制代码 |