1:泛型(掌握)
  (1)泛型概述
    是一种把明确类型的工作推迟到创建对象或者调用方法的时候才去明确的特殊的类型。
  (2)格式:
    <数据类型>
    注意:该数据类型只能是引用类型。
  (3)好处:
    A:把运行时期的问题提前到了编译期间
    B:避免了强制类型转换
    C:优化了程序设计,解决了黄色警告线问题,让程序更安全
  (4)泛型的前世今生
    A:泛型的由来
      Object类型作为任意类型的时候,在向下转型的时候,会隐含一个转型问题
    B:泛型类 :public class 类名<泛型类型1,泛型类型2、、、> 如:public class studet<T>{ //里面T表示的是一个类型名。 }
    C:泛型方法:(它会进行类型推断)
      类型1:类上有泛型类型。
       public class stduet<T> {
        public void method(T t){ }
       }
      类型2:类上没有泛型类型
        public class students{
          public <T> void show(T t){ }
        }
    D:泛型接口:public interface 接口名 <泛型类型1,泛型类型2、、、>{ }
        public interface ter<T t>{
            public void add(T t){ }
        }

    E:泛型高级通配符:
      由于泛型在明确的指定类型后,前后的类型必须是一样的,否则报错。而有时候,我们往往不知道是该类还是该类的子类,因此,刚开始无法确定类型,因此需要通配符。
        ? 表示的是任意类型,如果没有明确,那么就是Object以及任意的java类
          如: Collection<?> c =new ArrayList<Object>();
        ? extends E 表示的是向下限定,E及其子类 ,这里是表示只能统配该类和该类的子类可以。
          如: Collection<? extends animal> c =new ArrayList<Dog>();可以
          Collection<? extends animal> c =new ArrayList<Object>(); 不可以
        ? super E 表示的是向上限定,E及其父类 ,这里是表示只能统配该类和该类的父类。
          如:Collection<? extends animal> c =new ArrayList<Dog>(); 不可以
          Collection<? extends animal> c =new ArrayList<Object>(); 可以
    (5)JDK5的新特性:自动拆装箱,泛型,增强for,静态导入,可变参数,枚举。

  2:增强for循环
    (1)是for循环的一种
    (2)格式:
      for(元素的数据类型 变量名 : 数组或者Collection集合的对象) {
          使用该变量即可,该变量其实就是数组或者集合中的元素。
        }
    (3)好处:
      简化了数组和集合的遍历
    (4)弊端
      增强for循环的目标不能为null。建议在使用前,先判断是否为null。

3:静态导入
    (1)可以导入到方法级别的导入,可以直接调用方法名即可。
    (2)格式:
      import static 包名....类名.方法名;
    (3)注意事项:
      A:方法必须是静态的
      B:如果多个类下有同名的方法,就不好区分了,还得加上前缀。
      所以一般我们并不使用静态导入,但是一定要能够看懂。

4:可变参数(掌握)
    (1)如果我们在写方法的时候,参数个数不明确,就应该定义可变参数。
    (2)格式:
      修饰符 返回值类型 方法名(数据类型... 变量) {}
      public static int sum(int... a){ } //在调用该方法的时候会有具体的参数的个数。
    注意:
      A:该变量a其实是一个数组名
      B:如果一个方法有多个参数,并且有可变参数,可变参数必须在最后
    (3)Arrays工具类的一个方法
      asList()把数组转成集合。
      注意:虽然可以把数组转换成集合,但是这个集合的长度不能改变,原因是这个集合本质上还是数组,数组的长度是不变的。

Java中的泛型的更多相关文章

  1. Java中的泛型 (上) - 基本概念和原理

    本节我们主要来介绍泛型的基本概念和原理 后续章节我们会介绍各种容器类,容器类可以说是日常程序开发中天天用到的,没有容器类,难以想象能开发什么真正有用的程序.而容器类是基于泛型的,不理解泛型,我们就难以 ...

  2. [JavaCore]JAVA中的泛型

    JAVA中的泛型 [更新总结] 泛型就是定义在类里面的一个类型,这个类型在编写类的时候是不确定的,而在初始化对象时,必须确定该类型:这个类型可以在一个在里定义多个:在一旦使用某种类型,在类方法中,那么 ...

  3. Java 中的泛型详解-Java编程思想

    Java中的泛型参考了C++的模板,Java的界限是Java泛型的局限. 2.简单泛型 促成泛型出现最引人注目的一个原因就是为了创造容器类. 首先看一个只能持有单个对象的类,这个类可以明确指定其持有的 ...

  4. 【Java入门提高篇】Day14 Java中的泛型初探

    泛型是一个很有意思也很重要的概念,本篇将简单介绍Java中的泛型特性,主要从以下角度讲解: 1.什么是泛型. 2.如何使用泛型. 3.泛型的好处. 1.什么是泛型? 泛型,字面意思便是参数化类型,平时 ...

  5. Java开发知识之Java中的泛型

    Java开发知识之Java中的泛型 一丶简介什么是泛型. 泛型就是指泛指任何数据类型. 就是把数据类型用泛型替代了. 这样是可以的. 二丶Java中的泛型 Java中,所有类的父类都是Object类. ...

  6. Java中的泛型 --- Java 编程思想

    前言 ​ 我一直都认为泛型是程序语言设计中一个非常基础,重要的概念,Java 中的泛型到底是怎么样的,为什么会有泛型,泛型怎么发展出来的.通透理解泛型是学好基础里面中非常重要的.于是,我对<Ja ...

  7. Java 中的泛型

    泛型的一般意义: 泛型,又叫 参数多态或者类型参数多态.在强类型的编程语言中普遍作用是:加强编译时的类型安全(类型检查),以及减少类型转换的次数. Java 中的 泛型: 编译时进行 类型擦除 生成与 ...

  8. 第九节:详细讲解Java中的泛型,多线程,网络编程

    前言 大家好,给大家带来详细讲解Java中的泛型,多线程,网络编程的概述,希望你们喜欢 泛型 泛型格式:ArrayList list= new ArrayList(); ArrayList list= ...

  9. Java基础之Java中的泛型

    1.为什么要使用泛型 这里我们俩看一段代码; List list = new ArrayList(); list.add("CSDN_SEU_Cavin"); list.add(1 ...

  10. java中的泛型2--注意的一些问题和面试题

    前言 这里总结一下泛型中需要注意的一些地方和面试题,通过面试题可以让你掌握的更清楚一些. 泛型相关问题 1.泛型类型引用传递问题 在Java中,像下面形式的引用传递是不允许的: ArrayList&l ...

随机推荐

  1. C# 使用 Abot 实现 爬虫 抓取网页信息 源码下载

    下载地址 ** dome **

  2. DOM,BOM

    1.DOM:文档对象模型(Document Object Model) 1)子节点:只是这一代的后代,不会计算后代的后代  1.childNodes:获取子节点,    --IE6-8:获取的是元素节 ...

  3. [充电][库]Zlib文件压缩和解压

    原文链接: http://www.cnblogs.com/fairycao/archive/2009/12/09/1620414.html 开源代码:http://www.zlib.net/zlib使 ...

  4. wf(四)

    我们已经在c#和xaml上编写了工作流,或者有的人会觉得在xaml上编写的workflow没什么优点,然而其实xaml其实具有一些很特别的优势. 1. xaml支持工作流设计器,c#不支持: 2. x ...

  5. php数组插入数据库这个功能该怎么实现

    原文网址:https://segmentfault.com/q/1010000004048449 比如一个数组$a=array("a"=>"1",&quo ...

  6. [问题2014S04] 复旦高等代数II(13级)每周一题(第四教学周)

    [问题2014S04]  设 \(A\in M_n(\mathbb{C})\) 为可对角化的 \(n\) 阶复方阵, \(f(x)\in\mathbb{C}[x]\) 为复系数多项式, 证明: \[B ...

  7. 【Unity3D游戏开发】之游戏目录结构之最佳实践和优化 (十一)

    游戏目录结构之最佳实践 前置条件 1.多人协作开发,git管理 2.游戏不大,所有Scene合并到一起Scene中,eg.RoleScene.MapScene.StoreScene 3.Master一 ...

  8. 在网上看到的一篇文章关于js和php编码的

    解决办法: 采用js对URL中的汉字进行escape编码. <a href="" onclick="window.open('product_list.php?p_ ...

  9. C#MVC使用二进制流显示图片

    关于显示图片的最好方法当然是img 的src直接指向地址,简单实用.但是有时候也会使用到使用图片流显示图片的方法.实现也比较简单(在C# mvc中,java的不了解).具体如下: 1.前台cshtml ...

  10. 【树莓派】使用树莓派制作img镜像(一)

    最近一直在折腾树莓派,前几天装了10台设备,最近又来了15台开发板子.基本每台设备都需要进行如下操作: 1.安装树莓派OS,并配置键盘.时区.语言编码格式等: 2.新增组.用户.配置静态IP地址: 3 ...