美文网首页
【Java 基础】Java 泛型简单入门

【Java 基础】Java 泛型简单入门

作者: dongbingliu | 来源:发表于2017-06-17 10:41 被阅读17次

Java 泛型简单入门

前言

自学疯狂Java书籍,认真学习过Java Collection 集合,学的似懂非懂;
书籍中创建List Collection 实例方法如下:

Map map =new HashMap();

List list = new ArrayList((Collection) map);

但工作中使用List创建 Collection实例方法如下

//心中疑问<>尖括号,有什么用途,疯狂Java书籍中List Collection没有使用<>?

private List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();

Google Java List <> 尖括号

<>:表示泛型,重新翻阅学习疯狂Java书籍泛型章集

泛型简单入门

Java Collection 缺点

  1. 对象丢进集合,集合会忘记对象数据类型
    创建只能保存Dog集合,但Java Collection 程序可以轻易将 Cat 对象丢进去,可能引发异常;
  2. 对象放入Collection 集合时,集合丢失了对象状态信息,Collection 默认一律为 Object 对象 ,取出集合集合元素后还需强制类型转换,增加编程复杂度;

不使用泛型 Collection 用例

//创建只想保存String字符串的List集合
List strList = new ArrayList();
StrList.add("Java Collectin study 01 ");
StrList.add("Java Collectin study 02 ");
StrList.add("Java Collectin study 03 ");
//“不小心”把一个Integer对象丢进了“Collection”
StrList.add(08);

for( int i = 0;i < strList.size() ;i++){
     //List取出的对象全部为Object,必须强制性类型转换;
     //最后一个元素出现ClassCastException异常
     String str = (String)strList.get(i);
}

泛型作用:针对Java Collection

泛型主要用途是为解决Java Collection上述缺点。
使用泛型,泛型为了解决上述问题,使用泛型<>限制丢入集合的类型,改进后程序如下:

//创建只想保存String字符串的List集合,
//存入集合中对象必须为String字符串对象,存入其他类型数据对象会报错
List<String> strList = new ArrayList<String>();
StrList.add("Java Collectin study 01 ");
StrList.add("Java Collectin study 02 ");
StrList.add("Java Collectin study 03 ");
//“不小心”把一个Integer对象丢进了“Collection”
StrList.add(08);//IDE 会报错

for( int i = 0;i < strList.size() ;i++){
     //List取出的对象全部为Object,必须强制性类型转换;
     //最后一个元素出现ClassCastException异常
     String str = (String)strList.get(i);
}

相关文章

  • 【Java 基础】Java 泛型简单入门

    Java 泛型简单入门 前言 自学疯狂Java书籍,认真学习过Java Collection 集合,学的似懂非懂;...

  • Java基础之泛型

    Java基础之泛型 泛型基本介绍 简单介绍在jdk1.6之前,还没有使用到泛型,Java类型分为原始类型、复杂类型...

  • 详解Java泛型之3——十分钟理解泛型擦除

    前面我们介绍了泛型以及通配符的基础概念,可以参考文章: 详解Java泛型之1——入门泛型必懂的知识点[https:...

  • Java泛型教程

    Java泛型教程导航 Java 泛型概述 Java泛型环境设置 Java泛型通用类 Java泛型类型参数命名约定 ...

  • 泛型

    与Java泛型相同,Kotlin同样提供了泛型支持。对于简单的泛型类、泛型函数的定义,Kotlin 与 Java ...

  • 通配符的上下限与泛型方法

    java零基础入门-高级特性篇(七) 泛型 下 本章阅读有难度,请谨慎阅读,如有不适,可以跳过。 本章继续讲解泛型...

  • Java泛型基础入门

    之前对java泛型这个知识点,都是一知半解,经过朋友推荐的文章和网上一些比较知名的博客的学习,终于有了一定的了解,...

  • Java学习之_必备知识

    一、语言的入门及进阶 Java基础语法 OO编程思想 集合 IO 异常 泛型 反射 多线程 函数式 二、Web基础...

  • 泛型接口,类和通配符

    java零基础入门-高级特性篇(六) 泛型 中 泛型的使用位置,除了最常见的约束集合元素,还可以使用在接口,类,方...

  • java泛型中类型擦除的一些思考

    java泛型 java泛型介绍 java泛型的参数只可以代表类,不能代表个别对象。由于java泛型的类型参数之实际...

网友评论

      本文标题:【Java 基础】Java 泛型简单入门

      本文链接:https://www.haomeiwen.com/subject/favvqxtx.html