Java 5.0的特性

自动装箱/拆箱 (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");
}

时间: 2024-10-06 04:05:54

Java 5.0的特性的相关文章

WebSphere Application Server V7.0新特性及各Java EE标准版本支持之对比

WebSphere Application Server V7.0新特性及各Java EE标准版本支持之对比 Application Server Network Deployment, Version 7.0 Operating Systems: AIX, HP-UX, i5/OS, Linux, Solaris, Windows, z/OS Specifications and API documentation 对比的WebSphere版本如下: Version 7.0 Version 6

【译】Java 8的新特性—终极版

文/杜琪(简书作者) 原文链接:http://www.jianshu.com/p/5b800057f2d8 著作权归作者所有,转载请联系作者获得授权,并标注"简书作者". 声明:本文翻译自Java 8 Features Tutorial – The ULTIMATE Guide,翻译过程中发现并发编程网已经有同学翻译过了:Java 8 特性 – 终极手册,我还是坚持自己翻译了一版(写作驱动学习,加深印象),有些地方参考了该同学的. Java 8 前言: Java 8 已经发布很久了,很

PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性

前言    今天突然想到PHP官方网站上一转,一眼就看到PHP5推出的通告.虽然以前看到过PHP5的预告,但还是仔细看了PHP 5/Zend Engine 2.0新特性一文,一股JAVA气息扑面而来...   特将该文试译出来,首发于CSDN网站,以飨读者. PHP 5/Zend Engine 2.0新特性徐唤春 译 sfwebsite@hotmail.comhttp://www.php.net/zend-engine-2.php 全新的对象模型PHP中的对象处理部分已完全重写,具有更佳的性能和

Servlet 3.0新特性详解

简介:Servlet 是 Java EE 规范体系的重要组成部分,也是 Java 开发人员必须具备的基础技能, Servlet 3.0 是 Servlet 规范的最新版本.本文主要介绍了 Servlet 3.0 引入的若干重要新特性,包括 异步处理.新增的注解支持.可插性支持等等,为读者顺利向新版本过渡扫清障碍. Servlet 3.0 新特性概述 Servlet 3.0 作为 Java EE 6 规范体系中一员,随着 Java EE 6 规范一起发布.该版本在前一版本 (Servlet 2.5

Java 1.5新特性Enum的用法

Enum是enumeration(列举)的简写形式,包含在java.lang包中.熟悉C,C++,C#,或Pascal人应该对列举有所了解,先看个例子: public enum Season { winter, spring, summer, fall } 一个enum是定义一组值的对象,它可以包括零个或多个值成员.它是属于enum类型的,一个enum对象中不可有两个或多个相同的属性或值.在次之前的java程序员一般是用接口的方法实现列举的,如: public interface Season

深入了解Java 5.0的垃圾收集

内存管理是影响软件应用程序性能的一个重要因素.与实际的数据计算时间相比,分配和卸载内存所用的时间更长. 虽然C++可对内存分配与释放进行直接控制,Java利用垃圾收集来回收程序不再需要的内存,试图掌握内存管理.但是,在需要实时性能时,与垃圾收集有关的"暂停"一直是人们反对应对Java的中心论点. 垃圾收集是一个周期性的过程,它中断程序的正常执行,分析对象引用,并回收被分配但不再被引用访问的内存.在大型Java应用程序中,垃圾收集暂停可能持续几秒钟,这段时间足以中断任何类型的实时通信或控

用for/in在Java 5.0中增强循环

for/in 循环通常叫作 增强的 for 或者 foreach,它是 Java 5.0 中一个极为方便的特性.实际上它没有提供任何新的功能,但它显然能让一些日常编码任务变得更简单一些.在本文中,您将学习这方面的许多内容,其中包括使用 for/in 在数组和集合中进行遍历,以及如何用它避免不必要(或者只是令人厌烦的)类型转换.您还将学习如何实现 for/in,了解新的 Iterable 接口的一些细节,甚至还将学习如何让您自己的定制对象用这个新的构造进行遍历.最后,您将学习 for/in 不能

[C#]6.0新特性浅谈

原文:[C#]6.0新特性浅谈 C#6.0出来也有很长一段时间了,虽然新的特性和语法趋于稳定,但是对于大多数程序猿来说,想在工作中用上C#6.0估计还得等上不短的一段时间.所以现在再来聊一聊新版本带来的新特性可能也还不算晚吧? 一.nameof关键字 这绝对是整个新版本最让我期待的内容,它给代码重构带来了巨大的便利.先来看一下它是怎么使用的吧: string s; Console.WriteLine(nameof(s)); s = nameof(s.Length); Console.WriteL

PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性_php基础

前言    今天突然想到PHP官方网站上一转,一眼就看到PHP5推出的通告.虽然以前看到过PHP5的预告,但还是仔细看了PHP 5/Zend Engine 2.0新特性一文,一股JAVA气息扑面而来...   特将该文试译出来,首发于CSDN网站,以飨读者. PHP 5/Zend Engine 2.0新特性徐唤春 译 sfwebsite@hotmail.comhttp://www.php.net/zend-engine-2.php 全新的对象模型PHP中的对象处理部分已完全重写,具有更佳的性能和