快速业务通道

Java 5.0的特性 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17

Java 5.0的特性

时间:2011-04-23

自动装箱/拆箱 (Auto-Boxing/Unboxing)

没有自动装箱/拆箱:

int int1 = 1; Integer integer2 = new Integer(int1); int int3 = integer2.intValue();

有自动装箱/拆箱:

int int1 = 1; Integer integer2 = int1;   // 自動裝箱 int int3 = integer2;     // 自動拆箱

泛型 (Generic Types)

泛型就像是C++的模板。原有的Collection API加上泛型支援后,增加对型别的检查,减 少程式错误的机会。

没有泛型:

HashMap hm = new HashMap(); int i=1; String tt="test"; hm.put(new Integer(i), tt);

使用Generic:

HashMap <Integer, String>hm = new HashMap<Integer, String> (); int i=1; String tt = "test"; hm.put(i, tt);   // 在這裏對int自動裝箱成Integer,也使用了參數的型別檢查

自动装箱的新功能,可能是从C#语言身上学习来的,Java 已经越来越像C#。然而Java对 自动装箱/拆箱的支援,仅是利用编译器实现,在Java Bytecode 中,并无自动装箱/拆箱的 操作码 (opcode)。

注释 (Annotation)

Annotation全名是Program Annotation Facility ,是Java SE 5.0的新功能。Java 的 Annotation 类似于 .NET 的属性 (Attribute)。Java 的注释是一种接口 (interface),继 承自 java.lang.annotation.Annotation。Class File 则贴上 ACC_ANNOTATION 标签。

// JDK 1.4 /**   * @todo to be implemented   **/ void gimmeSomeLoving() {   throw new Exception("not implemented"); } // JDK 1.5 @todo void gimmeSomeLoving() {   throw new Exception("not implemented"); }

Java 5.0的特性(2)

时间:2011-04-23

枚举类型 (enum)

枚举类型也是J2SE 5.0的新功能。过去 Java 认为 enum 的关键字是不必要的功能,因为 用 public static int field 就可以取代 enum,因此过去一直不用。J2SE 5.0中的 class 如果是 enum,在 class file 中会被贴上一个 ACC_ENUM 标签。

// JDK 1.4 class JavaTech {      public static final int J2ME = 1;      public static final int J2SE = 2;      public static final int J2EE = 3; } // JDK 1.5 public enum NewJavaTech {      J2ME, J2SE, J2EE }

输入输出

试试用位于 java.io 包 (package) 内的BufferedReader。请紧记要 import java.io.*; 。尾部"*"是指示要 import 所有位于 java.io 内的类,。

import java.io.*; public class TestRead{    public static void main(String[] args) throws IOException{      BufferedReader bufread = new BufferedReader(System.in);      String str;      System.out.print("請輸入一句字串");      str = bufread.readLine();      System.out.println(str);    } }

程式码解说: import java.io.* 是把整个包“打开”,那么你便可以承继该包的类,用 内里的类创建一个物件。其实 java.io.* 是默认 import 的,不过 Eclipse 会要求 import java.io 所以功夫不可小!

public class TestRead 是宣告一个“公开”的 class(类别),而名字是TestRead 。

public static void main(String[] args) 是一个主程式。虽然是 Method ,但 main method 对于 Java 执行器来说是第一个执行程式的地方,同样离开了 main method 就等如 离开了程式。main method 的宣告式是要背的,当然是有解,不过暂且不说。

BufferedReader bufread = new BufferedReader(System.in) 在此创建一个以 BufferedReader 为蓝图的物件 bufread ,bufread名字是

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号