转向Kotlin——泛型

更多精彩内容,欢迎关注我的微信公众号——Android机动车

无论是Java还是Kotlin,泛型都是一个非常重要的概念,简单的泛型应用很容易理解,不过也有理解起来麻烦的时候。

泛型基础

在了解Kotlin的泛型之前,先来看看Java中的泛型:

举个栗子:在JDK中,有一类列表对象,这些对象对应的类都实现了List接口。List中可以保存任何对象:

List list=new ArrayList();
list.add(55);
list.add("hello");

上面的代码中,List中保存了Integer和String两种类型值。尽管这样做是可以保存任意类型的对象,但每个列表元素就失去了原来对象的特性,因为在Java中任何类都是Object的子类,这样做的弊端就是原有对象类型的属性和方法都不能再使用了。

但在定义List时,可以指定元素的数据类型,那么这个List就不再是通用的了,只能存储一种类型的数据。JDK1.5之后引入了一个新的概念:泛型。

所谓泛型,就是指在定义数据结构时,只指定类型的占位符,待到使用该数据结构时再指定具体的数据类型:

public class Box<T> {

    private T t;

    public Box(T t) {
        this.t = t;
    }
}


Box<Integer> box=new Box(2);

在Kotlin中同样也支持泛型,下面是Kotlin实现上面同样的功能:

class Box<T>(t: T) {
    var value = t
}

var box: Box<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值