java基础-泛型

泛型(generics),即“参数化类型”,就是将所操作的数据类型指定为一个参数。

泛型提供了在编译时对数据类型进行安全检测的机制,这个机制实现了:在程序编译期间检测到非法的数据类型。

泛型的三种使用方式:泛型类、泛型接口、泛型方法

泛型类:

public class Test01 <T>{
    private T myField;

    public Test01(T myField) {
        this.myField = myField;
    }

    public T getMyField() {
        return myField;
    }

    public void setMyField(T myField) {
        this.myField = myField;
    }

    public static void main(String[] args) {
        //实例化泛型接口时,必须指定泛型的具体类型
        Test01<Integer> i = new Test01<>(1);
        Test01<String> hello = new Test01<>("hello");
        Test01<Student> student = new Test01<>(new Student("myName",21));
    }
    
    private static class Student{
        private String name;
        private Integer age;

        public Student(String name, Integer age) {
            this.name = name;
            this.age = age;
        }
    }
}

泛型接口:

public interface Test02 <T>{
    T method();
}

//实现泛型接口,不指定类型
class Test02Impl<T> implements Test02<T>{
    @Override
    public T method() {
        return null;
    }
}

//实现泛型接口,指定类型
class Test02Impl02 implements Test02<String>{
    @Override
    public String method() {
        return "hello";
    }
}

泛型方法:

public class Test03 {
    public static <E> void method(E element){
        System.out.println(element);
    }

    public static void main(String[] args) {
        String s = "hello";
        method(s);
        Integer i = 100;
        method(i);
    }
}

常用的几种泛型通配符:T、E、K、V、?

T(type):表示一种java类型

E(element):代表一个元素

K,V(key,value):代表java中的键值对

?:表示不确定的java类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值