易截截图软件、单文件、免安装、纯绿色、仅160KB

java泛型 转载


英文原文地址:
http://www.onjava.com/pub/a/onjava/2005/07/06/generics.html
中文地址:
http://www.matrix.org.cn/resource/article/43/43634_java_generics.html
关键词: java generics java5
摘要
       泛型是J2SE 5.0最重要的特性。他们让你写一个type(类或接口)和创建一个实例通过传递一个或多个引用类型。这个实例受限于只能作用于这些类型。比如,在java 5,java.util.List 已经被泛化。当建立一个list对象时,你通过传递一个java类型建立一个List实例,此list实例只能作用于所传递的类型。这意味着如果你传递一个String ,此List实例只能拥有String对象;如果你传递一个Integer,此实例只能存贮Integer对象。除了创建参数化的类型,你还能创建参数化的函数。
     泛型的第一个好处是编译时的严格类型检查。这是集合框架最重要的特点。此外,泛型消除了绝大多数的类型转换。在JDK 5.0之前,当你使用集合框架时,你不得不进行类型转换。
     本文将教你如何操作泛型。它的第一部分是“没有泛型的日子”,先让我们回忆老版本JDK的不便。然后,举一些泛型的例子。在讨论完语法以及有界泛型的使用之后,文章最后一章将解释如何写泛型。
  
没有泛型的日子
     所有的java类都源自java.lang.Object,这意味着所有的JAVA对象能转换成Object。因此,在之前的JDK的版本中,很多集合框架的函数接受一个Object参数。所以,collections是一个能持有任何对象的多用途工具,但带来了不良的后果。
     举个简单的例子,在JDK 5.0的之前版本中,类List的函数add接受一个Object参数:
public boolean add(java.lang.Object element)
        所以你能传递任何类型给add。这是故意这么设计的。否则,它只能传递某种特定的对象,这样就会出现各种List类型,如,StringList, EmployeeList, AddressList等。
     add通过Object传递能带来好处,现在我们考虑get函数(返回List中的一个元素).如下是JDK 5之前版本的定义:
public java.lang.Object get(int index) throws IndexOutOfBoundsException
get返回一个Object.不幸的事情从此开始了.假如你储存了两个String对象在一个List中:
List stringList1 = new ArrayList();
stringList1


相关文档:

java面试题,质数求和

public class Test {
 /**
  * @param args
  */
 public static void main(String[] args) {
  /**
   * 求质数和,
   * 如:
   * sum(1)=2=2
   * sum(2)=2+3=5
   * sum(3)=2+3+5=10
   * sum(4)=2+3+5+7=17
& ......

传智播客Java培训 HTML基础示例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>实例1</TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME=" ......

Java与C++的多态

没有必要用一堆绕口的形容词来描述什么叫多态,只举出几个关键点。
    设:gun为父类,shootgun和pistol为gun的子类。
    Java:
    class gun {
        void shoot() {
          ......

用设计模式的思想来定制Java中的事件

级别: 初级

咸峰
(hutun@263.net
),
2001 年 5 月 28 日
随着JAVA的迅猛发展,JDK版本的不断更
新,JAVA新的事件模型与旧的JDK模型也有了本质的区别,它的事件模型也有了很大的区别。由于现在的编程都是采用事件驱动,所以很有必要了解的事件模
型,我们下面从定制事件的实际出发来具体讨论。
问题的提出
......

Google App engine for Java开发的一个博客网站

互联网冲浪板,是Google app Engine 云计算平台上的一个博客,是基于Google App engine for Java开发的。
原始的意图是因为女儿还小,现在还不会阅读,而我在上网时经常看到一些有益有趣甚至可以帮助学习的一些内容,就想把它记下来写在博客里,供女儿长大再去看看。
另外,我还没有发现Google App engine for Java开发的 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号