Java - 泛型 ( Generic )

时间:2021-08-16 15:35:55
Java - 泛型 ( Generic )
    > 泛型的特点
        > 解决元素存储的安全性问题
        > 解决获取数据元素时,需要类型强转的问题
        > 不能在 static 方法中使用泛型,因为泛型是抽象化的,只有在创建对象时才会确定泛型的类型,而静态方法是编译时生成的
    > 泛型的使用
        > 在集合中使用泛型
        > 自定义泛型类、泛型接口、泛型方法
        > 泛型与继承的关系
        > 通配符
 
1、自定义泛型类
 
public class order<T> {
    private String orderName;
    private T t;
    List<T> list = new ArrayList<T>();
    public T getT() { return t; }
    public void setT(T t) { this.t = t; }
}
 
2、泛型与继承的关系
    若类A 是类B的子类,那么List<A>就不是List<B> 的子接口
 
3、通配符 ?
    > List<? extends E>  // 这里的通配符说明可以存放的数据类型为E或者为E的子类
    > List<? super E>      // 这里的通配符说明可以存放的数据类型为E或者为E的父类
    List<?> list = null;
    List<Object> list1 = new ArrayList<Object>();
    list = list1;
    List<String> list2 = new ArrayList<String>();
    list = list2;

Java - 泛型 ( Generic )的更多相关文章

  1. JAVA中的泛型&lpar;Generic&rpar;

    Java泛型(Generic)简介 泛型是jdk1.5版本以后推出来的,表示类型参数化,让java能更具有动态性一些,让类型能变成参数传递. 要我自己感觉的话,泛型本身没啥用,跟反射在一起用,就体现出 ...

  2. Java之集合初探(二)Iterator(迭代器),collections,打包&sol;解包(装箱拆箱),泛型&lpar;Generic&rpar;,comparable接口

    Iterator(迭代器) 所有实现了Collection接口的容器都有一个iterator方法, 用来返回一个实现了Iterator接口的对象 Iterator对象称作迭代器, 用来方便的实现对容器 ...

  3. Java基础之Comparable接口&comma; Collections类,Iterator接口,泛型&lpar;Generic&rpar;

    一.Comparable接口, Collections类 List的常用算法: sort(List); 排序,如果需要对自定义的类进行排序, 那就必须要让其实现Comparable接口, 实现比较两个 ...

  4. Java自学-集合框架 泛型Generic

    ArrayList上使用泛型 步骤 1 : 泛型 Generic 不指定泛型的容器,可以存放任何类型的元素 指定了泛型的容器,只能存放指定类型的元素以及其子类 package property; pu ...

  5. Java泛型的历史

    为什么Java泛型会有当前的缺陷? 之前的章节里已经说明了Java泛型擦除会导致的问题,C++和C#的泛型都是在运行时存在的,难道Java天然不支持“真正的泛型”吗? 事实上,在Java1.5在200 ...

  6. java泛型基础

    泛型是Java SE 1.5的新特性, 泛型的本质是参数化类型, 也就是说所操作的数据类型被指定为一个参数. 这种参数类型可以用在类.接口和方法的创建中, 分别称为泛型类.泛型接口.泛型方法.  Ja ...

  7. 浅谈Java泛型之&lt&semi;&quest; extends T&gt&semi;和&lt&semi;&quest; super T&gt&semi;的区别

    关于Java泛型,这里我不想总结它是什么,这个百度一下一大堆解释,各种java的书籍中也有明确的定义,只要稍微看一下就能很快清楚.从泛型的英文名字Generic type也能看出,Generic普通. ...

  8. Java学习笔记(二一)——Java 泛型

    [前面的话] 最近脸好干,掉皮,需要买点化妆品了. Java泛型好好学习一下. [定义] 一.泛型的定义主要有以下两种: 在程序编码中一些包含类型参数的类型,也就是说泛型的参数只可以代表类,不能代表个 ...

  9. 遇到个小问题,Java泛型真的是鸡肋吗?

    今天遇到一个小问题,让我感觉Java的泛型(因为背负了历史的包袱导致的)有点鸡肋啊. 我们经常会遇到要一些自定义的key-value字符串,比如: "key1:1k;key2:2;key3: ...

随机推荐

  1. 深入理解CSS六种颜色模式

    前面的话 赏心悦目的颜色搭配让人感到舒服,修改元素颜色的功能让人趋之若鹜.但颜色规划不当,会让网站用户无所适从.颜色从<font color="">发展至今,保留了很多 ...

  2. jquery 获取一组元素的选中项 - 函数、jquery获取复选框值、jquery获取单选按钮值

    做表单提交时,如果现在还在用form提交,用户体验很差,所以一般使用ajax提交. 其中需要获取每个表单输入元素的值,获取的时候像文本框这些还好说,Jquery提供了 .val() 方法,获取很方便, ...

  3. WebView与JavaScript的交互

    目录: 一.整体思路 二.简单例子实现过程        1.打开项目的asset目录,创建新的文件test.html        2.补充html代码:添加供本地调用的js方法.调用本地方法的js ...

  4. 对XX证券报关于物联网操作系统的几个问题的答复

    XX证券报提问了几个关于物联网和物联网操作系统的问题,个人表达了一些粗陋的观点,在这里发表出来,与行业朋友交流和探讨. 物联网行业最需要解决的问题是什么? 虽然物联网这个行业被炒得比较热,但是截至目前 ...

  5. 二维码开源库zbar、zxing使用心得

    首先说明我的测试场景是“识别打印在纸上的二维码”,在扫描结果中寻找二维码并进行识别,而不是直接让摄像头对着二维码扫描. zbar和zxing用的都是自己从github上clone的c++源码/接口编译 ...

  6. Mysql两种存储引擎的优缺点

    MyISAM引擎是一种非事务性的引擎,提供高速存储和检索,以及全文搜索能力,适合数据仓库等查询频繁的应用.MyISAM中,一个table实际保存为三个文件,.frm存储表定义,.MYD存储数据,.MY ...

  7. 数据结构的javascript实现

    栈 栈(stack)又名堆栈,是一种遵循后进先出(LIFO)原则的有序集合.新添加或待删除的元素都保存在栈的末尾,称作栈顶,另一端称作栈底.在栈里,新元素都靠近栈顶,旧元素都接近栈底. functio ...

  8. Maven工程控制台乱码问题(IDEA)

    转自https://blog.csdn.net/love_live2/article/details/79311978 个人推荐使用文章中介绍的第三种方法,感觉挺好用的

  9. Windows之文件夹中打开PowerShell

    Windows之文件夹中打开PowerShell 为了解决Windows中在某个路径下使用PowerShell,而不是使用传统的cd命令切换过去,具体做法如下: 方法一 打开文件夹 在文件夹的内容区按 ...

  10. 初始Yarn

    YARN 产生背景 MapReduce1.x存在的问题:单点故障&节点压力大.不易扩展 资源利用率&运维成本 催生了YARN的诞生 YARN:不同计算框架可以共享同一个HDFS集群上的 ...