`
lzh166
  • 浏览: 297258 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java 1.5和1.6中新特性(转)

阅读更多

JDK5新特性(与1.4相比)【转】

1 循环

for (type variable : array){ body}

for (type variable : arrayList){body}

而1.4必须是:

for (int i = 0; i < array.length; i++){ type variable = array[i];    body}

for (int i = 0; i < arrayList.size(); i++){type variable = (type) arrayList.get(i); body}

2 泛型

以ArrayList为例,包括创建一个容器对象和取得容器内对象操作:

1.5 ArrayList<Type> arrayList =new ArrayList<Type>(); arrayList.get(i)

1.4 ArrayList arrayList =new ArrayList();  (Type) arrayList.get(i)

3 自动装箱拆箱

在JDK5.0以前,在原始类型与相应的包装类之间的转化是不能自动完成的。要完成这种转化,需要手动调用包装类的构造函数,在JDK5.0环境中,可以自动转化:

1.5 Integer wrapper = n;    int n = wrapper;

1.4 Integer wrapper = new Integer(n);    int n = wrapper.intValue();

4 可变的返回类型

在JDK5.0以前,当覆盖父类方法时,返回类型是不能改变的。现在有新的规则用于覆盖方法。如下,一个典型的例子就是clone()方法:

1.5 public Employee clone() { ... }

    ...

    Employee cloned = e.clone();

1.4 public Object clone() { ... }

    ...

    Employee cloned = (Employee) e.clone();

5 静态导入

静态导入功能对于JDK 5.0以前的版本是不支持的。

import static java.lang.Math;

import static java.lang.System;

...

1.5 out.println(sqrt(PI));

1.4 System.out.println(Math.sqrt(Math.PI));

6 控制台输入

JDK 5.0先前的版本没有Scanner类,只能使用JOptionPane.showInputDialog类代替。

1.5 Scanner in = new Scanner(System.in);

    System.out.print(prompt);

    int n = in.nextInt();

    double x = in.nextDouble();

    String s = in.nextLine();

1.4 String input = JOptionPane.showInputDialog(prompt);

    int n = Integer.parseInt(input);

    double x = Double.parseDouble(input);

    s = input;

7 格式化输出

JDK5.0以前的版本没有printf方法,只能使用NumberFormat.getNumberInstance来代替。

1.5 System.out.printf("%8.2f", x);

1.4 NumberFormat formatter= NumberFormat.getNumberInstance();

    String formatted = formatter.format(x);

    for (int i = formatted.length(); i < 8; i++)

    System.out.print(" "); System.out.print(formatted);

8 内容面板代理

在JDK5.0先前的版本中,JFrame,JDialog,JApplet等类没有代理add和setLayout方法。

1.5 add(component);  setLayout(manager);

1.4 getContentPane().add(component);getContentPane().setLayout(manager);

9 StringBuilder类

jDK 5.0引入了StringBuilder类,这个类的方法不具有同步,这使得该类比StringBuffer类更高效。

 

JDK6的新特性(转)

1 SystemTray类

在JDK6中 ,AWT新增加了两个类:Desktop和SystemTray,前者可以用来打开系统默认浏览器浏览指定的URL,打开系统默认邮件客户端给指定的邮箱发邮件,用默认应用程序打开或编辑文件(比如,用记事本打开以txt为后缀名的文件),用系统默认的打印机打印文档;后者可以用来在系统托盘区创建一个托盘程序.

2 使用JAXB2来实现对象与XML之间的映射

JAXB是Java Architecture for XML Binding的缩写,可以将一个Java对象转变成为XML格式,反之亦然。

3 新增StAX

StAX(The Streaming API for XML)是JDK6.0中除了DOM和SAX之外的又一种处理XML文档的API

4 新增Compiler API

可以用JDK6 的Compiler API去动态编译Java源文件。这个特性对于用到动态编译的应用程序相当有用, 比如JSP Web Server,当我们手动修改JSP后,是不希望需要重启Web Server才可以看到效果的,这时候我们就可以用Compiler API来实现动态编译JSP文件

5 轻量级Http Server

JDK6提供了一个简单的Http Server API,,程序员必须自己实现HttpHandler接口,HttpServer会调用HttpHandler实现类的回调方法来处理客户端请求。

6 插入式注解处理API(Pluggable Annotation Processing API)

插入式注解处理API提供一套标准API来处理Annotations,它把method, package, constructor, type, variable, enum, annotation等Java语言元素映射为Types和Elements, 从而将Java语言的语义映射成为对象。

7 用Console开发控制台程序

JDK6中提供了java.io.Console类专用来访问基于字符的控制台设备.

8 Web服务元数据(Web Services metadata)

9 更简单,更强大的JAX-WS

Java Architecture for XML Web Services的缩写,是一种用Java和XML开发Web Services应用程序的框架。

10 脚本语言支持(Scripting)

JDK6增加了对脚本语言的支持,原理上是将脚本语言编译成bytecode,这样脚本语言也能享用Java平台的诸多优势,包括可移植性,安全等,另外,由于现在是编译成bytecode后再执行,所以比原来边解释边执行效率要高很多。

11 JTable的排序和过滤

原来的JTable基本上是只能显示数据,在JDK6新增了对JTable的排序和过滤功能


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yakihappy/archive/2009/03/11/3979981.aspx

分享到:
评论

相关推荐

    JDK1.5中新的语言特征分类介绍

    总结来说,JDK 1.5中引入的一系列新特性极大地改善了Java语言的灵活性和安全性,同时也使得开发者的编程工作变得更加高效和简便。这些特性不仅提高了代码的质量,还增强了程序的可维护性和可读性。

    Java右下角弹出广告框

    使用到了JDK1.6中新特性的透明窗体,所以必须要使用JDK1.6或以上版本的 功能如下: 1.窗体出现时逐渐清晰 2.停留一会儿时间之后会自动逐渐模糊直至消失 3.点击关闭按钮后逐渐模糊直至消失 4.提示内容支持html...

    Java中如何调用matlab代码

    2. **安装JDK**:安装JDK 1.5或更高版本(推荐1.6),确保Java环境的正常运行。 3. **配置环境变量**:设置JAVA_HOME和PATH环境变量指向JDK的安装路径。例如,如果你的JDK安装在`C:\Program Files\Java\jdk1.6.0_03`...

    Java6 Collection Framework 新特性概览.pdf

    ### Java 6 Collection Framework 新特性概览 ...以上就是Java 6 Collection Framework中新特性的详细介绍,这些新特性和改进极大地增强了Java集合框架的功能性和灵活性,为开发者提供了更多的选择和便利。

    JAVA 2平台安全技术-结构,API设计和实现

    本书首先概述了计算机和网络安全概念并解释了Java安全模型,并在此基础上,详细描述了Java 2平台中新增加的许多安全结构方面的措施,同时对Java安全性的实施提出了使用指导,描绘了如何定制、扩展和精化安全结构以及...

    swift-展示Swift4.2中新特性示例的Xcodeplayground

    在这个名为"swift-展示Swift4.2中新特性示例的Xcodeplayground"的压缩包中,我们可以通过Xcode Playground来探索和学习这些新特性。Xcode Playground是一个非常实用的学习工具,它允许开发者实时查看代码执行结果,...

    C++面向对象程序设计教学大纲.pdf

    2. C++语言的版本和特性,例如Visual Studio 2010 C++,指出了特定的开发环境和可能涉及的C++版本的特性。 3. 关键字和语法元素,如const,表示会讲解C++中的关键字使用和语法规则,const在C++中用于定义常量或者...

    Java虚拟机规范 (Java SE 7 中文版)

    同时,基于最新Java SE 7平台,它详细介绍了Java SE 7中新加入的lnvokeDynamic指令和方法句柄机制,给出了在Java SE 6期间引入的类型检查检验器的原理证明。本书还介绍了Java SE 5中对class文件格式的扩展变动,例如...

    Java8中新特性Optional、接口中默认方法和静态方法详解

    Java 8 中引入的新特性显著地改进了编程体验,尤其是对于Optional、接口中默认方法和静态方法的引入。Optional 类的出现旨在解决经典的空指针异常问题,它提供了一种更安全的方式来处理可能为空的对象。下面我们将...

    [Java并发编程实践].(Java.Concurrency.in.Practice).Brian.Goetz.英文原版.pdf

    本书深入浅出地介绍了Java 5.0及之后版本中新增加的并发特性,并对并发编程进行了全面而详尽的讲解。自发布以来,这本书因其内容的专业性和实用性受到了广泛的赞誉。 #### 重要性与背景 随着计算机硬件的发展,多核...

    QQ音乐2021在IE9中新特性有哪些.docx

    QQ音乐2021在IE9中的新特性主要围绕用户界面优化、操作便捷性和个性化体验展开,旨在提供更高效、个性化的音乐享受。以下是这些新特性的详细说明: 1. **任务栏固定与快速访问** - 用户可以将QQ音乐的图标从IE9...

    JAVA面试题汇总(在原来JAVA题库中新加了Hibernate及Spring 方面的知识)

    - Hibernate 是一个 ORM(对象关系映射)框架,它允许开发者用 Java 对象来操作数据库,简化了数据库操作,提供了缓存机制、事务管理和查询语言等特性。 8. **Spring** - Spring 是一个全面的 Java 应用框架,...

    Fundamental Networking in Java

    书中特别强调了Java 1.4版本中新引入的I/O和网络功能,这些新特性为本书的编写提供了进一步的理由。 #### 传统与新式Java I/O 本书首先涵盖了“传统”Java流式I/O和所谓的“新式I/O”,后者基于缓冲区和通道支持非...

    Java2类库(PDF)

    本书由Java技术的创建者编写,对Java 2平台标准版v1.2中新增加的包及类进行了全面、系统的描述,主要包括包概述和类描述。包概述是对每个包及其所有类的简要概括;而每个类描述独立成节,从类层次结构示意图、类示例...

    Java 图形化U盘小偷

    此外,为了实现自动检测U盘插入,开发者可能会使用`java.awt.Robot`类来模拟用户的行为,定期检查系统中新的设备。或者,他们可能使用`java.util.concurrent`包中的定时任务,如`ScheduledExecutorService`,每隔...

    Java-Web-crawler-spider.rar_JAVA web 爬虫_Java spider_crawler_spid

    总之,Java Web爬虫是数据获取的重要工具,通过合理的实现和优化,可以高效地从互联网上获取并处理海量信息。这份"Java-Web-crawler-spider.rar"源码提供了一个实践学习的机会,对于想深入理解Web爬虫的开发者来说,...

    Java安全性.docx

    Java 安全性编程概念是非常重要的,Java 平台提供了多种支持安全编程的特性和库扩展,如 JCE、JSSE、CertPath API 和 JAAS 等。学习这些概念和技术可以帮助开发者编写更加安全的 Java 应用程序。

    java笔试题,java程序员常见的笔试

    Java编程语言在笔试题目中经常会涉及许多核心概念和特性,以下是对这些知识点的详细说明: 1. **访问修饰符的区别**: - `public`:任何地方都可以访问。 - `private`:只能在同一个类中访问。 - `protected`:...

Global site tag (gtag.js) - Google Analytics