`
yyfn
  • 浏览: 2098 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

java 5/6 新特性之我见

阅读更多

一、增强的for循环

这只是一个很小的语言改进,来源于vb等语言中的foreach语句,因此有人也称其为foreach增强。它可以作用于集合类,数组等。

如:int[] a={1,335,59,9,4,8};

for(int i:a)

system.out.println(i);

Set<Integer> set=new Set<Integer>();

for(int i=0;i<10;i++)

set.add(i);

for(Integer I:set)

system.out.print(i);

二、自动装箱和拆箱

运行时系统可以直接在基本类型和对应的包装类之间转换。

Set<Integer> set=new Set<Integer>();

for(int i=0;i<10;i++)

set.add(i);

for(Integer I:set)

system.out.print(i);

就使用了int和Integer之间的自动转换。

 

三、可变参数列表

说的了就是可以使用不确定个数的参数,主要用于函数

fun(double... a){

for(double d:a)

system.out.print(d);}

它的标志性语法就是类型后连着三点。

在此以前java中也可以用数组参数来达到相关的效果。但是可变参数更有表达力。

 

四、 协变返回

就是可以在覆盖函数的时候用原来函数的返回类型的子类来替代

如:

Object pop(){}

@Override

Integer pop(){}

上面两个函数在java5中是可以运行的。

 

五、枚举

java中的枚举是类型安全的,但是它是一个类Enum的子类,因此它不能再继承其它类,且java的enum比c的enum功能更强大,而且在是很复杂。与枚举有关的有一个静态导入(static import) ,它是在当前的文件中你可以直接使用它的实例名,而不用加上enum类型名。enum指的是实例集合。

六、泛型

泛型也是参数类型,和c++中的模板(template)有相似的地方,但是java中的泛型功能要弱得多,而且很难自己写泛型。希望在java7中改进。

Collection<String> c = new ArrayList<String>();

但是ArrayList<Object> arr=new ArrayList<String>();却会出错。

而且支持?通配符和super, extends来指定边界。

七、注解(annotation)

注解可以说是java5中加入的最有前途的特性,是元数据,也就是可以用来表示其它数据的数据,但是它不是普通人可以驾驭的。

就像我在前例中使用的@Override,就是一个注解。

 

 

java6主要是在性能上做了改进,同时在swing上做了一些增加,如Desktop,SystemTray,SystemTrayIcon和启动动画。当然sun对java编译器,解释器做了很多增强。

分享到:
评论

相关推荐

    Java语言程序设计基础实训项目之我见

    ### Java语言程序设计基础实训项目之我见 #### 关键知识点概述 在当前信息技术日新月异的时代背景下,Java作为一种广泛使用的编程语言,在软件开发、Web应用、移动应用等多个领域都发挥着重要作用。对于初学者而言...

    JAVA经典例子难得一见

    Java 10 新特性简介 Java 10 是 Java 语言的一个版本,发布于 2018 年 3 月。在这个版本中,添加了一些新的特性和改进,例如本地变量类型推断(var 关键字)、垃圾收集器的改进等。这些新特性使得代码更加简洁高效...

    java puzzler (java谜题)

    描述中提到的"细小之处见真功"强调了解决这些谜题需要对Java的内在机制有深入的理解。chm、doc、pdf三种格式分别代表了电子书的不同版本,chm是Windows的帮助文件格式,doc是Microsoft Word文档,而pdf则是通用的...

    java8.pdf详细说明java8的使用说明

    Java 8是Java语言的一次重要更新,它引入了大量新特性以及API的改进,旨在提高Java开发者的生产力。以下是对Java 8新特性的详细知识点: 1. 默认接口方法(Default Interface Methods): Java 8允许在接口中使用...

    Java7 (JRE) Update 67 X64官方版.zip

    Java语言恐怕是稳居网路应用程序语言的首选了,这都要归功于它高度的安全性以及跨平台的特性,几乎在目前所有的电脑平台上您都可以见得到Java的芳踪。过去很可能会有不少人抱怨Java虽然有著相当不错的跨平台以及安全...

    JAVA上百实例源码以及开源项目源代码

    Java 3DMenu 界面源码 5个目标文件 内容索引:Java源码,窗体界面,3DMenu Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都...

    java基础入门教程

    今 年 6月 7日 ,由 SUN公 司 和 台 湾 经 济 事 务 部 信 息 发 展 局, 台湾信 息 技 术 研究 所 等 单 位 牵 头 ,成 立 了 一 个 "Java联 盟 ", 参 加 的 有 22个 在 台 湾相 当 著 名 的 计 算 机公 司 ,并 在 台 ...

    Thinking in java 高清版(可直接复制源程序)

    1. **全面性**:本书覆盖了Java 1.2版本中的大部分重要内容,包括Swing、新的集合系统等。 2. **实用性**:提供了320多个实用的Java程序实例,总代码量超过15000行。 3. **深度解析**:深入讲解了Java的高级理论,如...

    基于Java的源码-DataBuffer在Java中使用ADO.NET.zip

    1. **Java数据缓冲区(DataBuffer)**:在Java中,DataBuffer是用于存储各种类型数据的缓冲区,尤其在处理图像I/O时常见,如在`java.awt.image`包中的BufferedImage类中。DataBuffer提供了多种类型,如...

    高清 英文版Thinking in java

    6. **网络编程**:介绍如何利用Java进行网络通信编程,包括TCP/IP协议、Socket编程等内容。 7. **图形用户界面**:探索Swing和JavaFX等GUI工具包的使用方法,帮助读者快速构建美观的用户界面。 8. **反射和代理**...

    Thinking+in+Java+4th+Edition

    - **Java SE 5与SE 6新特性**:本书特别关注了这两个版本的新功能,例如枚举类型、自动装箱与拆箱、增强的for循环、泛型等。 - **集合框架**:详细讲解了Java集合框架的组成部分,如List、Set、Map等接口及其具体...

    Java绘图板源代码

    在Java中,绘图主要通过`Graphics2D`类实现,它是`Graphics`类的子类,提供了更多的绘图特性,如抗锯齿、平滑线等。开发者可能使用`Graphics2D`对象在画布上绘制直线、曲线、填充形状、设置颜色和线型等。 3. **...

    JAVA_SE毕向东 笔记

    5. **Java开发环境搭建**: - 下载并安装JDK。 - 设置环境变量JAVA_HOME,指向JDK的安装目录。 - 修改PATH环境变量,在其前部添加`%JAVA_HOME%\bin`,确保JDK的bin目录位于系统搜索路径中。 - 设置CLASSPATH环境...

    Java基础知识点总结

    ### Java基础知识点总结 #### 一、Day_01Java开章 1. **计算机概述** - **计算机**:一种能够自动高速处理大量信息的电子设备。 - **计算机硬件**:指计算机系统中所有看得见摸得着的物理部件,如CPU、内存、...

    rocksdb 6 with jemallc win msvc2017 + jni/java + lz4 + bz2 + zlib + zstd

    这使得Java开发者也能充分利用RocksDB的高性能特性。 5. **lz4, bz2, zlib, zstd**: 这些都是数据压缩算法。在RocksDB中,它们用于对存储的数据进行压缩,从而节省存储空间并可能提高读写速度。lz4提供高速压缩和解...

    Thinking In Java 4th

    6. **Tom Holland**:他认为这是他见过的最佳计算机书籍写作之一。 7. **Ravindra Pai(甲骨文公司SUNOS产品线)**:他认为这是他读过的关于编程语言的最佳书籍之一,并称其为关于Java的最佳书籍。 8. **匿名读者**...

    难得一见的java Swing 源代码示例,非常好

    Java Swing 是Java GUI(图形用户界面)编程的一个重要库,它是Java AWT(Abstract Window Toolkit)的扩展,提供了更为丰富的组件和更灵活的设计。Swing 使用轻量级组件,可以在没有本地窗口系统的情况下运行,因此...

    毕向东_Java基础视频课堂笔记

    9. 命名规则:Java的命名规则要求变量名、方法名和类名要见名知意,类成员变量遵循驼峰命名法且首字母小写,常量全大写并用下划线分隔,类名首字母大写,方法名首字母小写。 以上内容涵盖了Java基础的方方面面,为...

    Thinking IN JAVA 4

    - **Tom Holland**:认为这是他见过的最好的计算机书籍之一。 - **Ravindra Pai**:甲骨文公司SUNOS产品线的成员称其为有史以来最好的Java书籍。 - **更多读者反馈**:读者普遍认为本书深度惊人,对于Java学习者来说...

Global site tag (gtag.js) - Google Analytics