java泛型


泛型

  • 作用:强制类型检查

自定义泛型

public static void main(String[] args) {
        Integer i = print(1); // <Integer> Integer com.lee.DiyGenericity.print(Integer t)
        String s = print("First"); // <String> String com.lee.DiyGenericity.print(String t)

    }

    // 自定义泛型
    // 格式: 修饰符 <自定义泛型声明> 类型 方法名(参数列表)
    // T只是一个占位符而已 
    public static <T> T print(T t) {
        // 返回类型是在传入实参的时候确定
        return t;
    }

泛型类

class MyList<T>{
    ArrayList<T>[] tArr = new ArrayList[5];
    
    int index = 0;
    public MyList() {
        
    }
    public void add(T t){
        tArr[index++] = (ArrayList<T>) t;
    }
}

泛型接口

interface UserDao<T>{
    public void add(T t);
    public void remove(T t);
}
// 在接口上定义的泛型,在实现该接口的时候指定
// 如果没有指定,默认是Object类型
class UserDaoImpl implements UserDao<String>{
    @Override
    public void add(String t) {}
    @Override
    public void remove(String t) {}
}

// 如果想在创建接口实现类对象的时候才指定自定义泛型的具体数据类型
// 版本2   
class UserDaoImpl<T> implements UserDao<T>{
    @Override
    public void add(T t){}
    @Override
    public void remove(T t) {}
}
// 参见Collection<E>接口的使用 迭代器接口Iterable<E>

给个github follow me的链接,上面有很多初学者可供学习的资料,项目.

<a>https://github.com/SuperZee</a>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 开发人员在使用泛型的时候,很容易根据自己的直觉而犯一些错误。比如一个方法如果接收List作为形式参数,那么如果尝试...
    时待吾阅读 4,676评论 0 3
  • 前面,由于对泛型擦除的思考,引出了对Java-Type体系的学习。本篇,就让我们继续对“泛型”进行研究: JDK1...
    贾博岩阅读 10,564评论 3 28
  • 之前对java泛型这个知识点,都是一知半解,经过朋友推荐的文章和网上一些比较知名的博客的学习,终于有了一定的了解,...
    大叔top阅读 3,405评论 0 5
  • “瑜伽”这个词,是一个十分美好的词。蔡健雅说,当你开始练习瑜伽的时候,你的年龄就定格在了那一刻,这充分说明了她对瑜...
    灰姑娘玻璃鞋阅读 3,800评论 0 1
  • 一. 基本语法 开始结束标记: "<?php ?>" <?php echo "Hello World"?>Note...
    peakcool阅读 3,858评论 1 11