泛型实质上就是程序员定义安全的类型

泛型的语法:     类名 <T>

之前java也提供了对object类的引用"任意化操作",这种任意化操作对Object引用进行向下转型及向上转型操作,但一些类型转换的错误也许不会被编译器捕捉,而在运行后出现异常,可见强制类型转换存在安全隐患,所以提供了泛型安全机制。

未使用泛型的:

package FanXing;public class Test {private Object b;public Object getB(){return b;}public void setB(Object b){this.b = b;}public static void main(String[] args) {Test t = new Test();t.setB(new Boolean(true));//向上转型操作 System.out.println(t.getB());t.setB(new Float(12.3));Float f = (Float)(t.getB());//向下转型操作System.out.println(f);}
}

使用泛型的:

package FanXing;public class OverClass<T> {//定义泛型类 private T over;//定义泛型成员变量public T getOver(){return over;}public void setOver(T over){this.over = over;}    public static void main(String[] args) {//实例化一个Boolean型的对象OverClass<Boolean> over1 = new OverClass<Boolean>();//实例化一个Boolean型 的对象OverClass<Float> over2 = new OverClass<Float>();over1.setOver(true);//不需要进行类型转换over2.setOver(12.3f);//不需要进行类型转换Boolean b = over1.getOver();Float f = over2.getOver();System.out.println(b);System.out.println(f);      }
}

定义泛型类时,一般类型名称使用T来表示,而容器的元素则使用E来表示。

JAVA 泛型与反射相关推荐

  1. java泛型程序设计——反射和泛型

    [0]README 0.1) 本文描述+源代码均 转自 core java volume 1, 旨在理解 java泛型程序设计 的 反射和泛型 的相关知识: [1]反射和泛型相关 1.1)现在, Cl ...

  2. 使用Java泛型和反射机制编写Excel文件生成和解析的通用工具类

    前几天被派到一个小项目中做临时维护,工作地点不方便且不说,项目代码那叫一个恶心... 代码几乎完全没有注释.这应该是我们天朝大部分程序员的习惯,代码不写注释,给后面维护的同事带来多大麻烦啊! 几百行的 ...

  3. Java泛型、反射、集合、多线程

    source:http://blog.java1234.com/index.html?typeId=1 泛型引入 定义:使用泛型可以指代任意对象类型: /*** 定义泛型类* @author caof ...

  4. 【中级05】Java泛型、反射

    java泛型简介 Java泛型(Generic)是J2 SE1.5中引入的一个新特性,其本质是参数化类型,也就是说所操作的数据类型被指定为一个参数(type parameter)这种参数类型可以用在类 ...

  5. java 反射与泛型_Java基础系列 - 泛型和反射机制

    package com.test5; import java.lang.reflect.Field; import java.lang.reflect.Method; /** * Java泛型和反射机 ...

  6. 支撑Java框架的基础技术:泛型,反射,动态代理,cglib

    以Spring为例要想看明白他的源码需要彻底理解Java的一些基础技术泛型,反射同时对于一些高级技术例如动态代理,cglib和字节码技术也需要掌握,下面就按章节来一一说清楚这些技术的核心部分,最后手写 ...

  7. java反射泛型类型,【Java反射】Java 泛型基础

    Java Reflect 综述 方法的反射 成员变量的反射 构造函数的反射 类加载机制 在面向对象的世界里,万事万物皆对象. 但在Java里面有两样东西不是对象:静态的成员.普通数据类型类(但它们有封 ...

  8. 【笔记】JAVA中的泛型和反射

    泛型 Java的泛型是如何工作的?什么是类型擦除? ----泛型是通过类型擦除来实现的,编译器在编译时擦除了所有类型相关的信息,所以在运行时不存在任何类型相关的信息.例如List在运行时仅用一个Lis ...

  9. Java高质量代码之 — 泛型与反射

    在Java5后推出了泛型,使我们在编译期间操作集合或类时更加的安全,更方便代码的阅读,而让身为编译性语言的Java提供动态性的反射技术,更是在框架开发中大行其道,从而让Java活起来,下面看一下在使用 ...

最新文章

  1. 对称加密、工作模式和填充模式
  2. 深入浅出Spring Boot,你和大神的差距,就只有这份文档的距离
  3. flutter 一个用户登录页面
  4. MySQL深入02-DML之Select查询
  5. Arcgis Licensemanager 不能启动的原因之一(转载)
  6. 好用的 curl 抓取 页面的封装函数
  7. Java实现简易文本编辑器
  8. 电脑朋友圈,PC玩朋友圈,真的来了
  9. 实测python-onvif协议控制摄像头
  10. GDS中如何加logo
  11. htb:Starting Point
  12. MarketsandMarkets:2018年全球太阳能背板市场需求将超17亿美元
  13. 相机光学(七)——光源
  14. 你说的H5到底是什么,跟Html有什么关系,能吃吗
  15. Aria2 RPC接口协议和Java的本地调用实现
  16. 移动安全:APK的基础结构
  17. 网卡最大传输单位MTU和巨型帧(Jumbo frame)设置
  18. 【小技巧】如何向论文原作者索要数据集和源码
  19. C#---百度图像识别SDK的控制台简单应用;
  20. 智慧城市挺进“绿色”时代

热门文章

  1. 【整理】电容知识小结(二)
  2. Linux基础命令---more
  3. 自学Zabbix3.0版本以上资产清单inventory
  4. 2017202110104-高级软件工程2017第8次作业—个人总结
  5. SD卡中FAT32文件格式快速入门(图文详细介绍)
  6. 【Google官方教程】第三课:缓存Bitmap
  7. 【iOS-cocos2d-X 游戏开发之十三】cocos2dx通过Jni调用Android的Java层代码(上)
  8. [原创]微软拼音输入法2007(含64位版)
  9. java_IO流之SequenceInputStream合并流的使用
  10. About mac80211