泛型是什么

泛型

就是一种不确定的数据类型。

泛型的本质就是类型参数化。

泛型可以省略,如果省略,默认泛型是object类型。

泛型的优点:

  1. 避免强制类型转换的异常

  2. 可以把运行时的问题提前到编译时期。

泛型类的定义语法:

public class 类名称<泛型标识,泛型标识, ...>{

        private 泛型标识 变量名;

        .....

}

使用语法:

类名<具体的数据类型> 对象名 = new 类名<具体的数据类型>();

泛型类:

 public class ArrayList<E> { 
                public boolean add(E e){ }
                public E get(int index){ }
            }

泛型方法:

  public class T {
                public <E> E sayHello(E e) {
                        return e;
                }
            }

泛型接口:

public interface T<E> { 
            boolean add(E e);
            E get(int index);
        }
        
public interface Service<T> {
            void set(T t);
            T get(int id);
        }

实现接口的时候确定泛型类型

 public class UserService implements Service<User> {      
           }

创建泛型接口对象的时候确定泛型类型

public class UserService<T> implements Service<T> {
                @Override
                public void set(T t) {
                }
                @Override
                public T get(int id) {
                    return null;
                }
            }
            
            UserService<User> service = new UserService<>();

泛型通配符

通常情况下,T,E,K,V,?

? 表示不确定的Java类型

T (type)表示具体的一个Java类型

K V(key value)分别代表Java键值中的key value

E 代表element

 public void test(List<?> list){
           
           }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值