Java泛型笔记

Java泛型的目的:
  通用性,可应用于多种类型,而不是一个具体的接口或类。
  JAVA1.5的补充。
  用来指定容器要持有什么类型的对象,而且由编译器来保证类型的正确性。

Java泛型的核心概念:
  告诉编译器想使用什么类型,然后编译器帮你处理一切细节。

Java 泛型的局限性:
  1,不能使用基本类型作为类型参数。

-Java泛型方法
  能使用泛型方法,尽量使用泛型方法。
  static的方法,不能访问泛型类的类型参数。

定义泛型方法:将泛型参数列表定义在返回值之前
  public static <T> void test() {
 
  }
(使用泛型类时,必须在创建对象时指定类型参数的值,使用泛型方法时,通常不必指明参数类型,因为编译器会为为们找出具体的类型。这称为类型参数推断。)
具体实现时,编译器无法推断类型如
  List<Person> list = new ArrayList<Person>();

调用泛型方法,显示的类型说明,在.操作符与方法名之间插入类型
  new Generator().<SubOrder>test(new SubOrder());

时间: 2024-11-06 12:32:04

Java泛型笔记的相关文章

Java学习笔记_26_泛型概述

                                                               泛型概述 在Java中存入容器中的对象再取出时需要转换类型,因为对象加入容器会被转换成Object类型,而取出时要转换成实际类型.但向  下类型转换都 是存在潜在危险的,因此应该尽量避免它们.  Java的泛型: 所谓泛型就是在定义(类.方法.形参.成员变量等等)的时候,指 定它们为通用类型,也就是数据类型可以是任意类型. 泛型为提高大型程序的类型安全和维护带来了很大的潜

Java泛型读书笔记 (二)

关于Java泛型擦除后,继承一个泛型类带来的问题 有如下泛型类Pair: public class Pair<T> { private T second; private T first; public Pair() { first = null; second = null; } public Pair(T first, T second) { this.first = first; this.second =second; } public T getFirst() { return fi

Java泛型学习笔记--Java泛型和C#泛型比较学习(一)

总结Java的泛型前,先简单的介绍下C#的泛型,通过对比,比较学习Java泛型的目的和设计意图.C#泛型是C#语言2.0和通用语言运行时(CLR)同时支持的一个特性(这一点是导致C#泛型和Java泛型区别的最大原因,后面会介绍).C#泛型在.NET CLR支持为.NET框架引入参数化变量支持.C#泛型更类似C++模板,可以理解,C#泛型实际上可以理解为类的模板类.我们通过代码实例来看C# 2.0泛型解决的问题,首先,我们通过一个没有泛型的迭代器的代码示例说起,代码实现如下: interface

Java泛型学习笔记 - (七)浅析泛型中通配符的使用

一.基本概念:在学习Java泛型的过程中, 通配符是较难理解的一部分. 主要有以下三类:1. 无边界的通配符(Unbounded Wildcards), 就是<?>, 比如List<?>. 无边界的通配符的主要作用就是让泛型能够接受未知类型的数据. 2. 固定上边界的通配符(Upper Bounded Wildcards): 使用固定上边界的通配符的泛型, 就能够接受指定类及其子类类型的数据. 要声明使用该类通配符, 采用<? extends E>的形式, 这里的E就是

【Java读书笔记】 -- 泛型

泛型简介 Java SE 5.0中增加泛型机制的主要原因是为了满足在1999年定制的最早的Java规范需求之一(JSR 14).专家组花费了五年左右的时间来定义规范和测试实现.使用范型程序编写的程序代码比起那些杂乱的使用Object变量,然后再进行强制类型转化的代码具有更好的安全性和可读性,范型对于集合尤其有用. 为什么要使用泛型程序设计 泛型程序设计(Generic programming)意味着编写的代码可以被很多不同类型的对象所重用. 在Java SE 5.0之前,Java泛型程序设计上用

java学习笔记(Core Java) 8 泛型

泛型一.定义一个泛型类public class Pair<T>{ private T _first; public Pair(T first) {this._first = first;} public T getfirst() {return _first;}}java中类型变量使用大写字母且比较短E:元素类型 K,V 表的关键字与值的类型 T(U/S)任意类型 泛型方法:要么返回类型是泛型,要么参数是泛型public static <T> getMiddle(T... a){

Java泛型Generic - Thinking in Java读书笔记

1.什么是泛型? 泛型就是可适用于很多的类,它实现了参数化类型type parameter的概念,参数化类型指可使用多种类型. 多态是一种泛化机制. 例如方法 A(Base b){}//Base是一个基类 这样方法A就可以接受从这个基类Base的任何子类作为参数.方法的参数也可以是一个接口,但是由于类的单继承体系和接口的约束( An interface still requires that your code works with that particular interface. ),不能

java学习笔记10--泛型总结

java学习笔记系列: java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note10.html,转载

第10篇-JAVA 集合框架-JAVA 泛型

第10篇-JAVA 集合框架-JAVA 泛型 每篇一句 :所有的不甘,都是因为还心存梦想 初学心得: 不是每件事都注定会成功,但是每件事都值得一试 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-04-15| JAVA 集合框架/JAVA 泛型 ] 1.JAVA 集合框架概念 通俗的说,集合就是一个存放数据的容器,准确的说,就是放数据对象引用的容器 数组和集合都是容器,有何不同? 数组长度固定,集合长度可变 数组只能存放相同类型的数据,集合可以存放不同类型的数据 数组可存放简单数据