JDK 1.5之Generics

JDK

  Generics 是JDK 1.5 一个最重要的特性,主要用来处理Collection。

  以下代码在JDK 1.5 调试通过。

  代码实例1: Demo.java

  package maoxiang.examples.jdk15.generics;
  import java.util.ArrayList;
  import java.util.Collection;
  import java.util.HashMap;
  import java.util.LinkedList;
  import java.util.List;
  import java.util.Map;

  /**
  * @author 毛翔
  *
  * 演示如何使用Generics 特性。代码来自于 Generics 教程:
  * http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf
  *
  * Generics类似于C++中的模板。
  * 区别:
  * 1.
  * 2.
  */

  public class Demo {
  public static void main(String[] args) {}

  /**
  * 最简单的用法
  */

  public void Test1() {

  // 以前的用法
  //List myIntList = new LinkedList(); // 1
  //myIntList.add(new Integer(0)); // 2
  //Integer x = (Integer) myIntList.iterator().next(); // 3 需要强制转换
  // 1.5 的用法
  List myIntList = new LinkedList(); // 1’
  myIntList.add(new Integer(0)); //2’
  Integer x = myIntList.iterator().next(); // 3’
  }

  /**
  * 匿名字符的用法
  */

  public void Test2() {
  List list = new ArrayList();
  //通过匿名字符打印一个集合

  Wildcards(list);
  Wildcards1();
  /*
  * 如果 Wildcards2 定义为Wildcards2(List shapes)
  * 以下调用错误
  */
  Wildcards2(list);
  }

  public void Wildcards(Collection< ? > c) {
  // 以前的用法
  //Iterator i = c.iterator();
  //for (int k = 0; k < c.size(); k++) {
  //
  log(i.next());
   /

时间: 2024-09-30 12:39:49

JDK 1.5之Generics的相关文章

JDK 1.5的Generics功能使用实例

Generics 是JDK 1.5 一个最重要的特性,主要用来处理Collection. 以下代码在JDK 1.5 调试通过. 代码实例1: Demo.java package maoxiang.examples.jdk15.generics; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.LinkedList; import java.uti

JDK 1.5之Generics_JSP编程

Generics 是JDK 1.5 一个最重要的特性,主要用来处理Collection. 以下代码在JDK 1.5 调试通过. 代码实例1: Demo.java package maoxiang.examples.jdk15.generics; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.LinkedList; import java.uti

[翻译]JDK 8 兼容性指南

翻译官方文档,删除部分可忽略. 译者:坤谷,井桐,激酶 兼容性是一个复杂的问题. 本文介绍了Java平台潜在的三种不兼容问题: 源码: 源码兼容性问题关注Java源代码转换成class文件是否兼容,包括代码是否仍然可编译. 二进制: 在Java语言规范中,二进制兼容性定义为:"类的改变是二进制兼容的(或者不破坏二进制兼容性),是指如果改变前的类的二进制在链接时没有错误,那么改变后的类在链接时仍然没有错误." 行为 : 行为兼容性包括在运行时执行的代码的语义. 欲了解更多信息,请参阅Op

jdk安装好后,控制台报错如下。

问题描述 jdk安装好后,控制台报错如下. -->java -version -->Error:opening registry key'SofrwareJavaSoftJava Runtime Environment' -->Error:could not find java.dll -->Error:could not find Java SE Runtime Environment 解决方案 环境变量配置好了吗?要不就是你装的JDK有问题. 解决方案二: 是不是没有访问注册表

Linux如何查看JDK的安装路径

如何在一台Linux服务器上查找JDK的安装路径呢? 有那些方法可以查找定位JDK的安装路径?是否有一些局限性呢? 下面总结了一下如何查找JDK安装路径的方法.   1:echo $JAVA_HOME 使用$JAVA_HOME的话能定位JDK的安装路径的前提是配置了环境变量$JAVA_HOME,否则如下所示,根本定位不到JDK的安装路径 [root@localhost ~]# java -version java version "1.7.0_65" OpenJDK Runtime E

jdk安装后为什么要配置Path环境变量

  我们知道运行java程序需要进行两个步骤   第一步 编译,将源文件编译成字节码,对应的是javac命令 第二步 解释,解释执行平台无关的字节码程序,对应的是java命令   发现问题 安装完jdk在cmd执行这两个命令的时候 会提示"不是内部或外部命令,也不是可运行程序或批处理文件"     问题原因 虽然计算机安装jdk并且jdk的安装路径下面包含了这两个命令 但是计算机不知道到哪里找这两个命令. Windows操作系统根据path环境变量来查找命令 Path环境的值是一系列路

[转载]JDK自带VM分析工具jps,jstat,jmap,jconsole

一.概述      SUN 的JDK中的几个工具,非常好用.秉承着有免费,不用商用的原则.以下简单介绍一下这几种工具.(注:本文章下的所有工具都存在JDK5.0以上版本的工具集里,同javac一样,不须特意安装)  .           我一共找到以下四个工具:重点看看jconsole和jmap. jps :与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号. jstat :一个极强的监视VM内存工具.可以用来监视VM内存内的各种堆和非堆

JDK和CGLIB生成动态代理类的区别

 关于动态代理和静态代理 当一个对象(客户端)不能或者不想直接引用另一个对象(目标对象),这时可以应用代理模式在这两者之间构建一个桥梁--代理对象. 按照代理对象的创建时期不同,可以分为两种: 静态代理:事先写好代理对象类,在程序发布前就已经存在了: 动态代理:应用程序发布后,通过动态创建代理对象. 静态代理其实就是一个典型的代理模式实现,在代理类中包装一个被代理对象,然后影响被代理对象的行为,比较简单,代码就不放了. 其中动态代理又可分为:JDK动态代理和CGLIB代理. 1.JDK动态代理

Ubuntu下手动安装jdk及配置

在ubuntu下可以通过多种方式来安装jdk,如使用Adept/新立得软件管理器在其中分别搜索"sun-java6-jre"和"sun-java6-jdk"并标记安装.通过apt-get命令来安装(sudo apt-get install sun-java6-jre.sudo apt-get install sun-java6-jdk).同样也可以通过从java官网上下载jdk安装文件进行手动安装(我下载的文件是:jdk-6u20-linux-i586.bin),这