`

JDK5.0新特性---1.自动装箱和拆箱

阅读更多

/**
 * 基本类型的数据值可以直接赋给基本数据对象,基本数据的对象也可以直接赋给基本数据变量
 * 在表达式中,基本类型的数据值可以和基本数据对象进行运算
 * 基本数据类型的数组不能实现自动装箱和拆箱,即int[]不能当成Integer[]使用
 */
/**
 * 演示基本数据类型的自动拆箱和装箱
 */
public class AutoBox {
       /**整数类型的自动拆箱和装箱*/
       public static void intAutoBox(){
              //可以装基本数字类型赋给数字对象
              //在J2SE之前,必须用iObj = new Integer(200);
              int i = 100;
              Integer iObj = 200; //将200装箱
              System.out.println("开始时: i = " + i + "; iObj = " + iObj);
             
              //将数字对象赋给基本数字类型
              //在J2SE5.0之前,必须使用i = tempObj.intValue();
              Integer tempObj = iObj;
              iObj = i;
              i = tempObj;  //将对象拆封
              System.out.println("将i与iObj的值互换后: " + "i = " + i + "; iObj = " + iObj);
             
              //在表达式内可以自动拆箱和装箱
              iObj += i + tempObj;
              i *= iObj + tempObj;
              System.out.println("i = " + i +"; iObj = " + iObj);
       }
      
       /**boolean类型的自动拆箱与装箱*/
       public static void booleanAutoBox(){
              boolean b = false;
              Boolean bObj = true; //装箱
              if(bObj){//拆箱
                     System.out.println("bObj = " + true);
              }
              if(b || bObj){
                     b = bObj; //拆箱
                     System.out.println("bObj = " + bObj +"; b = " + b);
              }
       }
      
       /**字符类型的自动拆箱与装箱*/
       public static void charAutoBox(){
              char ch = 'A';
              Character chObj = 'B';
              System.out.println("ch = " + ch + "; chObj = " + chObj);
              if(ch != chObj){ //拆箱
                     ch = chObj; //拆箱
                     System.out.println("ch = " + ch + "; chObj = " + chObj);
              }
       }
      
       public static void main(String[] args){
              intAutoBox();
              booleanAutoBox();
              charAutoBox();
              //注意,支持基本数据类型的自动拆箱和装箱,但是不支持基本类型数组的自动拆箱和装箱
              int[] is = {12,34,56};
              //Integer[] iObj = is; //error!!!
             
       }
}
 
分享到:
评论

相关推荐

    JDK5.0_下载-安装-配置

    总结来说,JDK5.0是Java发展中的关键版本,引入了泛型、枚举、自动装箱/拆箱等新特性,极大地简化了编码。正确下载、安装并配置JDK5.0后,就可以开始愉快的Java编程之旅,而"HelloWorld"则是学习任何编程语言的第一...

    jdk5.0新特性

    总结来说,JDK 5.0的新特性极大地提高了Java编程的效率和灵活性,通过自动装箱/拆箱、静态导入、增强的for循环以及可变长参数等功能,让开发者能够写出更加简洁、高效和易于维护的代码。这些改进不仅是对语言本身的...

    JDK 5.0.zip

    3. **自动装箱与拆箱**:JDK 5.0中,原始类型(如int)与对应的包装类(如Integer)之间可以自动进行装箱(将原始类型转换为对象)和拆箱(将对象转换为原始类型)操作,简化了代码编写。 4. **可变参数(Varargs)...

    JDK5.0新特性

    以上就是JDK 5.0中的一些重要新特性,这些特性极大地推动了Java语言的发展,使其在软件开发领域保持了强大的竞争力。通过学习和掌握这些特性,开发者可以编写出更加高效、健壮和易于维护的代码。

    jdk5.0新特性实例讲解

    Java JDK 5.0,又称为JDK 1.5,是Java开发工具包的一个重要升级,它引入了大量的新特性和改进,极大地提升了Java编程的...而"jdk5.0新特征.txt"则可能包含了对所有新特性的详细描述和使用示例,是深入学习的好资源。

    jdk1.5(jdk-1_5_0_08-windows-i586-p.exe)

    自动装箱和拆箱简化了基本类型与对应的包装类之间的转换,使得代码更加简洁。 4. **变量注解(Varargs)** 通过使用`...`操作符,可以定义接受任意数量参数的方法,提高了代码的灵活性。 5. **增强的for循环...

    JDK5.0的11个主要新特征

    JDK5.0是Java开发的一个重要里程碑,它引入了11个主要的新特性,极大地提升了编程效率和代码安全性。以下是对这些特性的详细说明: 1. 泛型(Generic) 泛型的引入是为了解决类型安全问题,避免在运行时进行不必要...

    jdk5.0 资源下载

    总结,JDK5.0是Java发展的重要里程碑,它的新特性显著提高了编程的效率和代码质量。通过配置并使用JDK5.0,开发者能够更好地理解和掌握Java编程,从而积累丰富的学习经验。同时,了解和熟练使用bin目录下的各种工具...

    良葛格JDK5.0学习笔记

    2. **自动装箱与拆箱**:在JDK5.0之前,基本类型与对应的包装类之间需要手动进行装箱和拆箱操作。JDK5.0引入了自动装箱,使得基本类型与对象之间的转换更加便捷,如Integer i = 10;自动将int转换为Integer对象。 3....

    JDK5.0新特性源代码

    在这个名为“JDK5.0新特性源代码”的压缩包中,我们可以期待找到与这些关键特性相关的源代码示例。以下是JDK 5.0引入的一些核心新特性及其详细解释: 1. **泛型(Generics)**:泛型允许在类、接口和方法中声明类型...

    jdk-1_5_0_22-linux-i586.rar_5.0版本_jdk_jdk-1_5_0_22_lakee6q_linux

    JDK 5.0,也称为Java 5,是一个重要的版本,因为它引入了许多新特性,改进了语言语法,并对API进行了扩展。这个“jdk-1_5_0_22-linux-i586.rar_5.0版本_jdk_jdk-1_5_0_22_lakee6q_linux”文件包含了专为Linux i586...

    jdk 5.0 ban

    3. **自动装箱与拆箱(Autoboxing and Unboxing)**:JDK 5.0引入了自动装箱和拆箱功能,使得基本类型与对应的包装类之间可以自动转换,简化了代码。例如,int和Integer可以无缝切换。 4. **增强的for循环...

    jdk-1_5_0_20-windows-i586-p.exe

    3. **自动装箱/拆箱**:自动将基本类型与对应的包装器类之间转换,简化了编程。 4. **增强的for循环**(foreach):提供了一种简洁的遍历集合和其他迭代对象的方式。 5. **变量参数**:允许方法接受不定数量的参数,...

    良葛格Java JDK 5.0学习笔记[可打印]

    Java JDK 5.0是Java开发的一个里程碑版本,它引入了许多重要的新特性和改进,极大地提升了开发效率和代码质量。良葛格的Java JDK 5.0学习笔记是一份宝贵的资源,适合初学者和有经验的开发者回顾这个版本的关键概念。...

    (Java 2 SDK)JDK 5.0 的源代码

    JDK 5.0简化了基本类型与对应的包装器类型之间的转换,引入了自动装箱和拆箱机制。这意味着开发者不再需要手动进行如Integer i = new Integer(5); 这样的转换,可以直接写作Integer i = 5;。 四、变量注解...

    良葛格Java JDK 5.0学习笔记

    Java JDK 5.0是Java发展历程中的一个重要里程碑,它引入了许多新特性,极大地提升了开发效率和代码质量。这里,我们将详细探讨这个版本的关键知识点,帮助初学者更好地理解和掌握Java编程。 1. **自动类型推断(var...

    良葛格Java JDK 5.0学习笔记ch05

    Java JDK 5.0是Java发展历程中的一个重要里程碑,它引入了许多新特性,极大地提升了开发效率和代码质量。在这个"良葛格Java JDK 5.0学习笔记ch05"中,我们将深入探讨其中的关键知识点。 一、泛型 Java 5.0引入了...

    良葛格Java JDK 5.0学习笔记.rar

    JDK 5.0是Java历史上的一个重要版本,引入了许多新的特性和改进,包括自动装箱/拆箱、枚举类型、可变参数、增强的for循环等。 2. **自动装箱/拆箱**:在JDK 5.0中,Java引入了自动装箱和拆箱功能,使得基本类型与...

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

    这个版本引入了许多新特性,如增强的for循环(foreach),类型注解,自动装箱/拆箱,枚举类型,泛型,变量args,静态导入,以及新的编译器警告和错误处理。这些改进显著提高了代码的可读性、可维护性和类型安全性。 ...

Global site tag (gtag.js) - Google Analytics