`
duben
  • 浏览: 51649 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

jdk1.5以后几点新特性

阅读更多
    以前对jdk1.5后的一些新用法不感冒,现在发现就新式for-each来看,功能实现了,而代码更优雅:
package com.duben.spring.client;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ForTest
{
    public static void main(String args[])
    {
        int arr[] = {1, 2, 3, 4, 5, 6, 7, 8};

/**
* 旧式写法
*/
        for (int i = 0; i < arr.length; i++)
        System.out.println(arr[i]);
/**
* 新式写法
*/
        for (int a : arr)
        System.out.println(a);

        String arr2[] = {"真","好","用","!!"};
        for(String a2 : arr2)
        System.out.println(a2);

        int arr3[][] = {{1,2,3},{4,5,6,},{7,8,9}};
        for(int a31[] : arr3)
        {
           for(int a32 : a31)
           { 
                System.out.println(a32);
           }
           System.out.println();
        }

        List<String> list = new ArrayList<String>();
        list.add("a");
        list.add("b");
        list.add("c");
/**
* 根据集合类长度遍历
*/
        for(int i=0;i<list.size();i++)
        {
             System.out.println(list.get(i));
        }
/**
* 根据迭代器遍历
*/
        for(Iterator i = list.iterator();i.hasNext();)
        {
            System.out.println(i.next());
        }
/**
* 根据新式for-each遍历
*/
        for(String element : list)
        {
             System.out.println(element);
        }
      }
}


除此之外,还有一些新特性,简要列举出来:
以下来自CSDN博客,出处:http://blog.csdn.net/touchSea/archive/2006/09/11/1210425.aspx
1. 自动装箱与拆箱 对应C#
例1.1
Integer i = 10; 
int j = i;    //隐匿地把基本类型int转换为Integer对象

2.加泛型 对应C++模板
import java.util.*; 

ArrayList<String> animals = new ArrayList<String>(); 
animals.add("Dog"); 
animals.add("Cat"); 
animals.add("Chick"); 
animals.add("Cow"); 
for(String option : animals) { 
System.out.println(option); 
} 


3.参数可变的方法和printf
例3.1
定义:
public int sum(int... n) { //传过来n为一个int型数组 
int tempSum; 
for(int option : n) { 
tempSum+=option; 
} 
/* 
for(int i = 0; i < n.length; i++) { 
tempSum+=n[i]; 
} 
*/ 
return tempSum; 
} 
调用1: sum(1); 
调用2: sum(1,2); 
调用3: sum(1,2,3,4); 

例3.2 printf方法, 对应c语言的printf
int x = 10; 
int y = 20; 
int sum = x + y; 
System.out.printf("%d + %d = %d",x,y,sum); 


4. 枚举
例4.1
public enum MyColors { 
red, 
black, 
blue, 
green, 
yellow 
} 

MyColors color = MyColors.red; 
for(MyColors option : color.values()) { 
System.out.println(option); 
} 

/**不能在switch语句里这样写case MyColors.red: 
*这样编译器不会让你通过*/ 
switch(color) { 
case red: System.out.println("best color is "+red); break; 
case black: System.out.println("NO " + black); break; 
default: 
System.out.println("What"); 
break; 
} 

5.静态引用
例5.1
1.5版本以前的写法是:

  
import java.lang.Math; //程序开头处 

  ... 

  double x = Math.random(); 

1.5版本中可以这样写
import static java.lang.Math.random; //程序开头处 

... 
   
double x = random(); 
0
0
分享到:
评论

相关推荐

    linux下JDK1.5

    JDK1.5引入了一些重要的新特性,如: 1. **Generics(泛型)**:允许在类、接口和方法中使用类型参数,增强了类型安全性和代码重用性。 2. **Autoboxing and Unboxing(自动装箱与拆箱)**:自动将基本类型与对应的...

    jdk1.5 jdk1.6 反编译 工具

    标题中的“jdk1.5 jdk1.6 反编译 工具”指的是用于对Java字节码进行反编译的软件,这类工具能够将Java的.class文件转换回可读的.java源代码形式,这对于理解和学习已有的Java类库或者进行逆向工程非常有帮助。...

    jacob1.9,jdk1.5适用

    标题"jacob1.9,jdk1.5适用"明确指出,这个RAR压缩包提供的Jacob库版本是1.9,且已针对JDK 1.5进行了优化和测试。在Java世界里,版本的兼容性至关重要,因为不同版本的JDK可能支持不同的API,或者存在与特定库的不...

    利用Retrotranslator将Jdk1.5项目迁移到1.4

    标题中的“利用Retrotranslator将Jdk1.5项目迁移到1.4”是指使用Retrotranslator工具将基于Java 1.5版本的代码库转换为兼容Java 1.4的代码。这是因为某些环境或者旧系统可能只支持早期版本的Java,而新项目可能已经...

    JDK1.5和Tomcat5.5.9.rar

    尽管这些版本相对较旧,但在升级前需要考虑以下几点: 1. **测试**:在生产环境中使用新版本之前,必须进行全面的兼容性和性能测试。 2. **文档**:查阅官方文档和社区论坛,了解已知问题和解决方案。 3. **维护**...

    jdk1.5完全中文版(QQ传给大家)

    JDK 1.5 主要的新特性包括泛型、枚举类型、可变参数、自动装箱/拆箱以及增强的 for 循环等。 ### 2. 泛型 (Generics) 在 JDK 1.5 中,泛型是一个重要的新特性,它允许开发者在类、接口和方法的上下文中声明类型...

    jdk1.5中的范型

    在进行此类重构时,需要考虑以下几点: - **识别可泛型化的类或方法**:分析现有代码,找出哪些类或方法可以受益于泛型。 - **逐步添加泛型支持**:可以从简单的方法或类开始,逐步扩展到更复杂的部分。 - **确保...

    jdk1.5.0_09 解压导入就能用

    在使用JDK 1.5.0_09时,需要注意以下几点: - 验证解压后的文件完整性,确保所有必要的文件都在。 - 调整环境变量设置,确保操作系统能够找到JDK的可执行文件。 - 定期更新JDK到最新版本,以获取性能提升和安全修复...

    JDK_API_1_5_zh_CN.CHM

    在JDK API 1.5中,有几个显著的更新和增强,这些知识点对于Java开发者来说至关重要: 1. **泛型(Generics)**:这是JDK 1.5引入的一项重大改进,允许在类、接口和方法中使用类型参数,提高了代码的类型安全性,...

    JDK1.6百度云下载

    JDK1.6是Java发展史上的一个重要版本,它在JDK1.5的基础上进行了大量的改进和优化,提供了更多的特性和功能。 ### 二、JDK1.6的主要特性 1. **性能优化**:JDK1.6对垃圾回收机制进行了改进,提升了程序运行时的...

    bcprov-ext-jdk15on-1.54.jar和bcprov-jdk15on-1.54.jar压缩文件

    在使用这两个库时,开发者需要注意以下几点: 1. **版本兼容性**:确保库版本与使用的Java版本兼容,避免因版本不匹配导致的问题。 2. **依赖管理**:在大型项目中,合理管理依赖关系,避免冲突。如果只使用了基础...

    sun java jdk

    例如,JDK 1.5引入了泛型、枚举等新特性;JDK 8增加了Lambda表达式和支持流处理的新特性。随着Java技术的不断发展,Sun Java JDK也在不断地更新和完善,为开发者提供了更加高效、强大的开发工具。 #### 七、社区...

    jdk-1_5_0_22-linux-amd64安装板(rpm).zip

    安装JDK 1.5.0_22的步骤通常包括以下几点: 1. 解压缩下载的zip文件。 2. 对于自解压脚本,使用`sudo ./jdk-1_5_0_22-linux-amd64.bin`执行安装,然后按照提示进行。 3. 对于RPM包,使用`sudo rpm -ivh jdk-1_5_0_...

    JDK1.6“新“特性Instrumentation之JavaAgent(推荐)

    JavaAgent 和 Instrumentation 是 JDK 1.6 中的新特性,提供了强大的功能,可以实现虚拟机级别的 AOP 功能。通过使用 JavaAgent 和 Instrumentation,我们可以实现各种功能,例如:监测程序的运行、修改类的定义、...

    Json-lib-2.4.jdk15.jar

    - **版本兼容性**:虽然这个版本是针对JDK1.5的,但随着Java版本的更新,可能需要升级到更高版本的Json-lib以获取更好的兼容性和新特性。 总的来说,"Json-lib-2.4.jdk15.jar" 是一个实用的JSON处理工具,为Java...

    java项目jar包与jdk的版本不兼容的问题解决

    在进行这些操作时,需要注意以下几点: - 使用版本管理工具(如Maven或Gradle)可以帮助你更方便地管理依赖关系和版本。 - 在升级JDK时,确保所有第三方库和框架都支持新版本。有时,一些老的库可能不再更新,不...

    java遍历特例

    文档进一步展示了JDK 1.5中引入的新特性——增强的for循环(也称为“foreach”循环),用于遍历`Map`: ```java Map m = new HashMap(); for (Object o : m.keySet()) { m.get(o); } ``` 这种方法通过`keySet()`...

    bcprov-jdk15on-148和bcprov-ext-jdk15on-148

    在使用这些库时,开发者需要注意以下几点: 1. 导入依赖:在Java项目中,你需要将对应的JAR文件添加到项目的类路径中,或者如果你使用的是Maven或Gradle,可以添加对应的依赖配置。 2. 安全性:尽管Bouncy Castle...

    jsonjson-lib-2.3-jdk15.zip

    在使用`json-lib`时,需要注意以下几点: 1. **依赖管理**:如果你使用的是Maven,可以在pom.xml文件中添加对应的依赖项,以便在构建项目时自动下载和管理`json-lib`库。 2. **性能考虑**:虽然`json-lib`是一个...

    黑马面试题总结

    以上总结了IT面试中常见的知识点,涵盖了进程与线程状态、输入输出流、集合框架、Java内存模型、多态、JDK 1.5新特性、设计模式、Java中的锁机制、JVM基础知识以及异常处理等多个方面。通过掌握这些核心概念和技术,...

Global site tag (gtag.js) - Google Analytics