2.Java-泛型


前言

Java泛型是JDK5中引入的一个新特性。泛型解决了编译时类型安全检测机制,使代码具有更好的安全性和可读性。泛型在集合类中广泛使用,如:ArrayList。

泛型的本质是参数化类型。泛型有三种常用的使用方式:泛型类,泛型接口和泛型方法


一、泛型类

/**
 * Java库中 E表示集合的元素类型,K 和 V分别表示表的关键字与值的类型,
 * T(需要时还可以用临近的字母 U 和 S)表示“任意类型”
 * 
 * @author Mr.Guo
 * @date 2021/2/3 下午1:54
 */
public class BaseBean<T, U, S> {
    private T prop1;
    private U prop2;
    private S prop3;

    public BaseBean(T t, U u, S s) {
        this.prop1 = t;
        this.prop2 = u;
        this.prop3 = s;
    }

    public T getProp1() {
        return this.prop1;
    }

    public U getProp2() {
        return this.prop2;
    }

    public S getProp3() {
        return this.prop3;
    }

    public static void main(String[] args) {
        BaseBean<String, Integer, Date> bean = new BaseBean<>("string", 1, new Date());

        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        System.out.println("prop1=>" + bean.getProp1());
        System.out.println("prop2=>" + bean.getProp2());
        System.out.println("prop3=>" + dateFormat.format(bean.getProp3()));
    }
}

运行结果:

prop1=>string 
prop2=>1 
prop3=>2021-02-03 14:50:27 

二、泛型接口

定义一个接口

/**
 * @author Mr.Guo
 * @date 2021/2/3 下午3:00
 */
public interface BaseInterface<T, U> {
    T getProp1();
    U getProp2();
}

第一种实现方式

/**
 * @author Mr.Guo
 * @date 2021/2/3 下午3:02
 */
public class Bean1 implements BaseInterface<String, Integer> {
    @Override
    public String getProp1() {
        return "String";
    }

    @Override
    public Integer getProp2() {
        return 1;
    }
}

第二种实现方式

/**
 * @author Mr.Guo
 * @date 2021/2/3 下午3:03
 */
public class Bean2<T, U> implements BaseInterface<T, U> {
    T prop1;
    U prop2;

    @Override
    public T getProp1() {
        return prop1;
    }

    @Override
    public U getProp2() {
        return prop2;
    }
}

三、泛型方法

/**
 * @author Mr.Guo
 * @date 2021/2/3 下午3:08
 */
public class Bean {
    public <T> T parse(String s) {
        return null;
    }

    public <T> T getMiddle(T... arr) {
        return arr[arr.length / 2];
    }
}
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值