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. HTML5——语音输入

    一.使用方式: <input type="text" x-webkit-speech /> 二.属性 1.lang属性:语言种类 <input type=&quo ...

  2. Dynamics AX 2012 R2 创建一个带有负载均衡的服务器集群

    安装额外AOS的主要目的,是将它添加到集群,或用于创建批处理服务器. 1.创建集群服务器 这里,Reinhard使用上节Install An Additional AOS 中创建的AOS,来创建集群. ...

  3. Codeforces 749D:Leaving Auction(set+二分)

    http://codeforces.com/contest/749/problem/D 题意:有几个人在拍卖场竞价,一共有n次喊价,有q个询问,每一个询问有一个num,接下来num个人从这次拍卖中除去 ...

  4. 谈谈对AOP的理解

    Aspect Oriented Programming  面向切面编程.解耦是程序员编码开发过程中一直追求的.AOP也是为了解耦所诞生. 具体思想是:定义一个切面,在切面的纵向定义处理方法,处理完成之 ...

  5. 如何面试有2年java工作经验的应聘人员

    1.什么是事务控制?答:事务控制就是将一系列操作当成一个不可拆分的逻辑单元,保证这些操作要么都成功,要么都失败.在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序.事务是恢复和并发 ...

  6. 2015弱校联盟(1) - B. Carries

    B. Carries Time Limit: 1000ms Memory Limit: 65536KB frog has n integers a1,a2,-,an, and she wants to ...

  7. mysql 插入中文报错: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value...

    总结写在前面, 总结: 当Java通过jdbc链接mysql插入中文时,要保证程序可以正常执行,而且插入的中文不会乱码, mysql服务器端,对数据表(不是数据库)的编码设置,要保证是支持中文的,例如 ...

  8. Intellij IDEA 快捷键介绍

    ctrl-w   使所选表达式逐步增大直到选取整个文件  ctrl+shft+w   逐步减少选中 ctrl-n 可以通过键入类名查找一个类 ctrl-shift-n 可以查找文件 ctrl-e 得到 ...

  9. [问题2015S11] 复旦高等代数 II(14级)每周一题(第十二教学周)

    [问题2015S11]  证明: 任一复方阵都相似于一个复对称阵. 举例说明: 存在实方阵, 它不相似于实对称阵. 问题解答请在以下网址下载:http://pan.baidu.com/share/ho ...

  10. iOS,Xcode7 制作Framework,含资源和界面

    Xcode7 制作Framework  本文通过Demo方式介绍1)将含bundle和存代码编写界面打包进framework:2)将storyboard +assets.xcassets打包. (一) ...