`
yyfn
  • 浏览: 1985 次
  • 性别: 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 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...

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

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...

    java基础入门教程

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

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

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

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    (5) implements 子句用于说明类中将实现哪些接口,接口是 Java 的一种引用类 型。 (6) 类体包含了变量和方法。在类体中定义的数据、变量和方法称为类的成员, 或称为实例变量和实例方法。 (7) 例如: 下例定义...

    基于JAVA的学生通讯录管理系统设计和实现[文献综述].doc

    毕业论文文献综述 信息与计算科学 基于JAVA的学生通讯录管理系统设计和实现 一、前言部分 Java是由Sun公司于1995年5月推出的Java程序设计语言和Java平台的总称。它具有 简洁、安全、面向对象、动态、体系结构中立、...

    Java课程设计实验报告及全部源码流程图.doc

    使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页 显示,每页显示一个月的日历。...

    Java课程设计实验报告.docx

    2、 使用本学期学习的Java SE技术完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 ...

    Spring 实现远程访问详解——jms和activemq

    具体特性见官网:http://activemq.apache.org/ 2. 什么是JMS JMS的全称是Java Message Service,即Java消息服务。它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息。把它应用...

    JavaScript1.6数组新特性介绍以及JQuery的几个工具方法

    JavaScript 1.6 引入了几个新的Array 方法,具体的介绍见:New in JavaScript 1.6 。这些方法已经被写进了ECMA262 V5。现代浏览器(IE9/Firefox/Safari/Chrome/Opera)都已经支持,但IE6/7/8不支持。jquery的工具...

    腾讯X5浏览服务白皮书

    在android平台下 基于WebKit内核的app简单层次结构见下图 其中WebView是WebKit内核的Java 编程接口层 "&gt;随着手机和3G 4G高速移动网络的日益普及 中国已全面进入移动互联网时代 中国互联网络信息中心 CNNIC 的最新...

    重载与覆写/重写的区别

    重载与覆写/重写的区别 区别 重载 覆写 ...发生在一个类之中 ...可是对于覆写而言,绝对不能修改返回值类型,... * 6. 静态方法不存在重写概念,重写是面向对象特性,静态方法是类方法,用类名直接访问。 */ 复制代码

    ONE ON ONE 中文版第二部分

    我见过的最全最顶尖级的教程 1:开发成功的oracle应用程序 2:体系结构 3:封锁和并行性 4:事务 5:重做和回滚 6:数据库表 7:索引 8:导入和导出 9:数据装载 10:优化策略和工具 11:优化器方案稳定性 12:分析...

    ONE ON ONE 中文版第一部分

    我见过的最全最顶尖级的教程 1:开发成功的oracle应用程序 2:体系结构 3:封锁和并行性 4:事务 5:重做和回滚 6:数据库表 7:索引 8:导入和导出 9:数据装载 10:优化策略和工具 11:优化器方案稳定性 12:分析...

    Spark从入门到精通

    5、Spark案例实战的代码,几乎都提供了Java和Scala两个版本和讲解(一次性同时精通Java和Scala开发Spark); 6、大量全网唯一的知识点:基于排序的wordcount,Spark二次排序,Spark分组取topn,DataFrame与RDD的两种...

    redis2加强.doc

    特性 1〉速度快,数据放在内存中,官方给出的读写性能 10 万/S,与机器性能也有关 a,数据放内存中是速度快的主要原因 b,C 语言实现,与操作系统距离近 c,使用了单线程架构,预防多线程可能产生的竞争问题 d:协议简单...

    Visual C++ 2010入门经典(第5版)--源代码及课后练习答案

     Ivor Horton是撰著Java、C和C++编程语言图书的杰出作家之一。大家一致认为,他的著作独具风格,无论是编程新手,还是经验丰富的编程人员,都很容易理解其内容。在个人实践中,Ivor Horton也是一名系统顾问。他从事...

    Android程序设计基础

     本书最后提供了一个附录,其中列出了Android与Java SE(Java Standard Edition,Java标准版)之间的不同之处。 . 在线资源  本书网站http://pragprog.com/titles/eband提供了以下资源。  本书使用的所有示例...

    Hibernate注释大全收藏

    Person 类定义了 Address 和 Country 对象,具体两个类实现见上。 无注解属性默认值: • 属性为简单类型,则映射为 @Basic • 属性对应的类型定义了 @Embeddable 注解,则映射为 @Embedded • 属性对应的类型...

Global site tag (gtag.js) - Google Analytics