- 4
- 0
- 约5千字
- 约 29页
- 2017-05-28 发布于上海
- 举报
JDK新特性ppt课件
JDK1.5新特性
概述
1 自动包装和解包
3. 参数可变的方法和printf
5. 静态引用
2. 更优化的循环语句
4. 枚举
6.泛型
概述
Java2标准版(Java 2 Platform, Standard Edition, J2SE)1.5正式推出,这一次的版本更新不同于以往,它带来了很多里程碑式的革新,SUN将其绰号取名为“虎”。这一次的变革将是Java诞生以来从未有过的,它给我们带来了耳目一新的感觉。
1 自动包装和解包
在1.5版本中,对一个整数进行包装,使之成为一个Integer对象(即包装,boxing),然后加入到一个ArrayList中的做法被认为是没有必要的,反之,解包(unboxing)的做法也是没有必要的,这样的代码只是增加了程序的文本长度而已,所以1.5版本支持了自动包装和解包操作,对于bool/Boolean,byte/Byte,double/Double,short/Short,int/Integer,long/Long,float/Float的相应包装/解包操作都进行了支持,从而使代码变得简单。
代码示例
往一个ArrayList中加入一个整数,1.5版本以前的版本写法是:
List list = new ArrayList();list.add( new Integer( 10 ) );
在1.5版本中可以写为:
List.add( 10 );
2. 更优化的循环语句
1.5版本的写法比以前是大大简化了,但是在需要修改集合,比如删除其中元素时不能采用这种写法。
之所以Java1.5版本没有象C#那样干脆定义一个foreach关键词,主要是因为SUN认为增加一个专门的关键词成本太高了(too costly)
代码示例
一个典型的遍历数组的循环语句,
1.5版本以前的写法是:
for ( Iterator iterator = list.iterator(); iterator.hasNext(); ){Integer n = (Integer)iterator.next();...}//for
在1.5版本中可以写为:
for ( Integer n : list ){...}//for
3. 参数可变的方法和printf
当不能确定一个方法的入口参数的个数时,以往版本的Java中,通常的做法是将多个参数放在一个数组或者对象集合中作为参数来传递
参数可变代码示例
1.5版本以前的写法是:
int sum(Integer[] numbers)
{
int nSum = 0;
for(int i: numbers)
nSum += i;
return nSum;
}
//在别处调用该方法
sum(new Integer[] {12,13,20});
而在1.5版本中可以写为:
int sum(Integer... numbers)
{
int nSum = 0;
for(int i: numbers)
nSum += i;
return nSum;
}
//在别处调用该方法
sum(12,13,20);
printf
1.5版本自身就有一个应用该特征的典型例子,即C风格的格式化输出方法——printf。
这种改变不仅仅是形式上的,printf还可以提供更为灵活、强大的输出功能,比如限定按照两位整数的形式输出,可以写为“System.out.printf(%02d + %02d = %02d , x, y, nSum);”,输出结果将是“05 + 07 = 12”。
代码示例
输出一个加法算式,1.5版本以前的写法是:
int x = 5;
int y = 7;
int nSum = x + y;
System.out.println(x + + + y + = + nSum);
而在1.5版本中可以写为:
System.out.printf(%02d + %02d = %02d, x, y, nSum);
以上两种写法的输出结构是一样的,即“5 + 7 = 12”。
4. 枚举
以往的Java版本中没有enum关键词,1.5版本中终于加入了进来,这确实是一个令人高兴的改进。此外,enum还提供了一个名为values()的静态方法,用以返回枚举的所有值的集合。所以,以上程序的输出结果是把“Red”、“Yellow”、“Blue”分行输出。
而enum提供的静态方法valueOf()则将以字符串的形式返回某一个具体枚举元素的值,比如“MyColor.valueOf( “Red” )”会返回“Color.Red”。静态方法name()则返回某一个具体枚举元素的名字,比如“MyColor.R()”会返回“Red”。类
您可能关注的文档
- fortran语言教程.ppt
- FMEA.ppt
- FrontPage教学 教你用好FrontPage.ppt
- Flexsim基础知识部分.ppt
- FLUENT培训教材9瞬态问题.ppt
- FLUENT培训教材简介.ppt
- EXCEL培训教材完整版.ppt
- FZLYDとFZL生管购买业务改善レポート(最终版).ppt
- Gaussian3教程PPT版本.ppt
- Forecast23中国电子商务蓝皮书DCCI简版.pptx
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 05G359-3悬挂运输设备轨道标准图集.pdf VIP
- 新学期教师培训会,校长发言:明边界守初心,知尺度有温度,让教育履职既合规又暖心.doc VIP
- 湖南省长沙市第一中学2024-2025学年高二上学期语文1月期末考试试卷(含答案).pdf VIP
- 2025年秋季学期学校全面工作计划.doc VIP
- T∕CHAS 10-2-22-2023 中国医院质量安全管理 第2-22部分:患者服务 疼痛治疗.pdf
- T_CNFMA B036-2024 户外林业机械 以锂离子电池为动力源的步进式松土机.pdf VIP
- T_CCTAS 237-2025 城市轨道交通市域快线车辆运营技术规范.pdf VIP
- 广告策划与创意(第2版):网络广告创意PPT教学课件.pptx
- 人体解剖学试题及答案.docx VIP
- 最后倒计时最后倒数(The Final Countdown) 高清钢琴谱五线谱.doc VIP
原创力文档

文档评论(0)