`
freesea
  • 浏览: 127448 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

泛型(java 1.5 语法基础)

    博客分类:
  • JDK
阅读更多

java1.5开始引入泛型,使用起来很方便!我在这里简单介绍一下
1。容器
ArrayList接口在1.5开始变成ArrayList<E>因此使用时可以使用:

java 代码
  1. ArrayList<String> a;   
  2. a=new ArrayList<String>();   
  3. a.add("泛型");   
  4. String s=a.get(0);  



使用泛型可以在容器中放入指定类型的对象。并获取减少类型转换。

1.5之后的容器引入了泛型

2。使用

在类名称后声明:

java 代码
  1. public static class abc<E>{  




然后就可以在类中使用
E e;
E是个什么????
就好像一个未定的类型,所以暂时可以看着一个Object
由类的使用者定义类型!
看下面代码:

  1. package cn.openz.mbook.ModuleCreate;   
  2. import java.util.ArrayList;   
  3.   
  4.   
  5.   
  6. /**  
  7. *  
  8. * @author Administrator  
  9. */  
  10. public class ObjectOut {   
  11.        
  12.     /** Creates a new instance of ObjectOut */  
  13.     public ObjectOut() {   
  14.     }   
  15.     public static void main(String[] arg){   
  16.         ArrayList<String> a=new ArrayList<String>();   
  17.         a.add("asdfsadf");   
  18.         System.out.println(a.get(0));   
  19.         abc<String> a1=new abc<String>("asfdasdf");   
  20.         System.out.println(a1.getE());   
  21.     }   
  22.     public static class abc<E>{   
  23.         public E e;   
  24.         public abc(E o){   
  25.             this.e=o;   
  26.         }   
  27.         public String toString(){   
  28.             return e.toString();   
  29.         }   
  30.         public E getE(){   
  31.             return e;   
  32.         }   
  33.     }   
  34. }   

3。使用让泛型更具体!

java 代码
  1. public static class abc<E extends  CharSequence>{   
  2.         public E e;   
  3.         public abc(E o){   
  4.             this.e=o;   
  5.         }   
  6.         public String toString(){   
  7.             return e.toString();   
  8.         }   
  9.         public E getE(){   
  10.             return e;   
  11.         }   
  12.     }   

上面的e可以使CharSequence及其子类。
在class abc中e可以调用CharSequence的方法!

还可是更具体的类
请见sun的网站,一般我们仅仅使用上面的内容!

<E extents CharSequence>
这时E可以是继承CharSequence的类!
如把上面的内部类变为:

 

java 代码

分享到:
评论
2 楼 7_iroy 2012-09-04  
支持下,继续加油
1 楼 gongmingwind 2010-01-19  
写的不错,现在可以用泛型设计Dao层,可以在一定程度上减少dao的代码量

相关推荐

    Java基础:泛型及其擦除性、不可协变性

     在Java SE1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。...

    vs2008新特性 C#4.0

    也和Java1.5泛型如出辙;C#3.0加入了堆语法糖并在没有修改CLR情况下引入了Linq简直是神来的笔虽然很多 项目出于各种各样如性能的类原因没有采用但非常适合小型快速开发减轻了员工作量也提高了代码可读性 ;C#4.0增加...

    Java2核心技术.part5

    1.5关于Java的常见误解 第2章Java程序设计环境 2.1安装Java开发工具箱 2.1.1下载JDK 2.1.2设置执行路径 2.1.3安装库源代码和文档 2.1.4安装本书中的示例 2.1.5导航Java目录 2.2选择开发环境 ...

    java基础案例与开发详解案例源码全

    1.5 MyEcilpse工具介绍JavaSE环境安装和配置15 1.6 本章练习16 第2章 2.1 什么是程序18 2.2 计算机中的程序18 2.3 Java程序19 2.3.1 Java程序中的类型19 2.3.2 Java程序开发三步曲21 2.3.3 开发Java第一个程序21 ...

    Thinking in java4(中文高清版)-java的'圣经'

    类型信息 第15章 泛型 第16章 数组 第17章 容器深入研究 第18章 Java I/O系统 第19章 枚举类型 第20章 注解 第21章 并发 第22章 图形化用户界面 附录A 补充材料 可下载的补充材料 Thinking in C:Java的基础 Java...

    疯狂JAVA讲义

    1.5 第一个Java程序 12 1.5.1 编辑Java源代码 12 1.5.2 编译Java程序 13 学生提问:当我们使用编译C程序时,不仅需要指定存放目标文件的位置,也需要指定目标文件的文件名,这里使用javac编译Java程序时怎么不...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...

    【白雪红叶】JAVA学习技术栈梳理思维导图.xmind

    语言语法基础 异常 泛型 内部类 反射 序列化 nIo 匿名类 包装类 优先级 引用 语言工具类库 容器类 集合 链表 map 工具类 系统类 日期类 数字类 字符串+正则 流 字符流 字节流 语言特性 ...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...

    Java2核心技术.part3

    1.5关于Java的常见误解 第2章Java程序设计环境 2.1安装Java开发工具箱 2.1.1下载JDK 2.1.2设置执行路径 2.1.3安装库源代码和文档 2.1.4安装本书中的示例 2.1.5导航Java目录 2.2选择开发环境 ...

    Java2核心技术.part1

    1.5关于Java的常见误解 第2章Java程序设计环境 2.1安装Java开发工具箱 2.1.1下载JDK 2.1.2设置执行路径 2.1.3安装库源代码和文档 2.1.4安装本书中的示例 2.1.5导航Java目录 2.2选择开发环境 2.3使用...

    Java2核心技术.part6

    1.5关于Java的常见误解 第2章Java程序设计环境 2.1安装Java开发工具箱 2.1.1下载JDK 2.1.2设置执行路径 2.1.3安装库源代码和文档 2.1.4安装本书中的示例 2.1.5导航Java目录 2.2选择开发环境 ...

    Java2核心技术.part4

    1.5关于Java的常见误解 第2章Java程序设计环境 2.1安装Java开发工具箱 2.1.1下载JDK 2.1.2设置执行路径 2.1.3安装库源代码和文档 2.1.4安装本书中的示例 2.1.5导航Java目录 2.2选择开发环境 ...

    Java2核心技术.part2

    1.5关于Java的常见误解 第2章Java程序设计环境 2.1安装Java开发工具箱 2.1.1下载JDK 2.1.2设置执行路径 2.1.3安装库源代码和文档 2.1.4安装本书中的示例 2.1.5导航Java目录 2.2选择开发环境 ...

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    / 259 10.2.2 解析与填充符号表 / 262 10.2.3 注解处理器 / 264 10.2.4 语义分析与字节码生成 / 264 10.3 Java语法糖的味道 / 268 10.3.1 泛型与类型擦除 / 268 10.3.2 自动装箱、拆箱与遍历循环 / 273 10.3.3...

    Java虚拟机

    1.5 展望Java技术的未来 1.5.1 模块化 1.5.2 混合语言 1.5.3 多核并行 1.5.4 进一步丰富语法 1.5.5 64位虚拟机 1.6 实战:自己编译JDK 1.6.1 获取JDK源码 1.6.2 系统需求 1.6.3 构建编译环境 1.6.4 进行...

    21天学通Java-由浅入深

    第一篇 基础篇 第1章 Java简介(精彩视频:33分钟) 21 1.1 Java的平台简介 21 1.2 安装工具包 22 1.2.1 下载JDK 22 1.2.2 安装JDK 24 1.2.3 查看与设置环境变量 25 1.2.4 JDK常用命令 27 1.2.5 Java各个目录含义 28...

    写给大忙人看的JAVA SE 8

    1.2 lambda表达式的语法 4 1.3 函数式接口 6 1.4 方法引用 8 1.5 构造器引用 10 1.6 变量作用域 10 1.7 默认方法 14 1.8 接口中的静态方法 17 练习 18 第2章 Stream API 20 2.1 从迭代器到Stream操作 22 2.2 创建...

Global site tag (gtag.js) - Google Analytics