53. 泛型类

Posted 江小白谢

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了53. 泛型类相关的知识,希望对你有一定的参考价值。

泛型类的定义格式:
    class 类名<声明自定义泛型>{
    
    }

泛型类要注意的事项:
    1.在类上自定义泛型的具体数据类型是在使用该类的时候创建对象的时候确定的
    2.如果一个类在类上已经声明了自定义泛型,如果使用该类创建对象的时候没有指定泛型的具体数据类型,那么默认为Object类型
    3.如果类中自定义泛型不能用于静态的方法,如果静态的方法需要使用自定义泛型,那么要自己声明使用
        说明:静态的方法可以不需要实例化就可以直接调用,而泛型类的数据类型是在声明的时候确定的,
        所以静态的方法需要自己定义声明自定义泛型

 

需求:整数类型的集合元素全部加1

class Math<T>{
    
    public Integer addone(T t) {
        
        return (Integer)t+1;
    }
}
public class Demo3 {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(2);
        Iterator<Integer> it = list.iterator();
        
        Math<Integer> m = new Math<Integer>();
        while(it.hasNext()) {
            System.out.println(m.addone(it.next()));
        }        
    }
}

 

以上是关于53. 泛型类的主要内容,如果未能解决你的问题,请参考以下文章

从非泛型类调用抽象泛型类中定义的方法的最佳方法是啥

泛型类,用克隆调用泛型类

EasyMock:如何在没有警告的情况下创建泛型类的模拟?

泛型类的空值 [重复]

如何通过使用类型名称来实例化泛型类?

Java 泛型泛型用法 ( 泛型类用法 | 泛型方法用法 | 泛型通配符 ? | 泛型安全检查 )