`
xiuying
  • 浏览: 543604 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

jdk5的装箱与拆箱

    博客分类:
  • java
阅读更多

java的8个基本类型:

整数:short byte long int

字符:char

浮点数:float double

布尔类型:boolean

以上8个基本类型都对应有包装类。

(1)
自动装包/拆包  省了很多在开发过程过 从基本类型到包装类以及从包装类到基本类型之间的转换

自动装包(避免了我们去 new Integer())

从 基本类型(int) 自动的转换成 包装类(Integer)

自动拆包(避免了我们 Integer.parseInt(""))

从 包装类(Integer) 自动的转换成 基本类型(int)

(2)例子: BoxTest.java

package com.jdk150.bean;

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

public class BoxTest {


public static void main(String[] args) {
int a=3;
List<Integer> c = new ArrayList<Integer>();

c.add(a); //a是个int 类型,List里要放的是Integer类型这里JAVA自动的实现装包
c.add(a+3);  //3是一个原始数据类型,这时候JAVA自动的给我们转换

for(Integer i:c){
System.out.println(i);
}

//c里面是个Integer类型 在这里JAVA自动的拆包将Integer类型转换成int类(结果都是一样的)
for(int i:c){
System.out.println(i);
}
}

}

(3)例子: Frequency.java

package com.jdk150.bean;

import java.util.Map;
import java.util.TreeMap;

//由命令行输入一个字符串判断这个字符出现的次数并打印
public class Frequency {

//命令行可以在eclipse的run里面的 运行 里 输入
public static void main(String[] args) {
//String 为key  Integer为value TreeMap 是实现了Map接口并且是排序的
Map<String,Integer> m = new TreeMap<String,Integer>();

//获取命令行参数循环放入MAP中
for(String word:args){
Integer freq = m.get(word);
m.put(word, (freq == null?1:freq+1));
}
System.out.println(m);
}

}


(4)例子: BoxTest2.java

package com.jdk150.bean;

public class BoxTest2 {


public static void main(String[] args) {

//基本数据类型“等号“(==)就是比较内容,而对象“等号”(==)则比的是地址
Integer i1 = 100;
Integer i2 = 100;

if(i1 == i2)
System.out.println("i1 == i2");
else
System.out.println("i1 != i2");


// Integer i1 = 200;
// Integer i2 = 200;
// //“等号”(==)比的是两个对象的内存地址
// if(i1 == i2)
// System.out.println("i1 == i2");
// else
// System.out.println("i1 != i2");

//注:如果值在 -128~~~127之间 他们比较的是基本类型 int 的 value (比的是内容)
//而200已经在这个范围之外 他们相当与比较的是Integer类型(比的是内存地址)
}

}





分享到:
评论

相关推荐

    jdk5.zip

    JDK 5引入了自动装箱与拆箱机制,简化了这一步骤,使得基本类型和包装类之间的转换更加流畅。 此外,枚举(Enums)的引入是JDK 5中的一个重要改变。枚举类型允许创建一组相关的常量,提高了代码的可读性和安全性。...

    jdk5_64.zip

    JDK5引入了自动装箱和拆箱机制,使得基本类型与包装类之间的转换变得无缝且高效,提升了编程的便利性。 四、变长参数(Varargs) JDK5引入的变长参数,允许方法接收可变数量的参数,形式为`public void methodType...

    浅谈Java自动装箱与拆箱及其陷阱

    Java中的自动装箱和拆箱是自JDK 1.5版本引入的一种语言特性,它极大地简化了基础数据类型(如int)与它们对应的包装类(如Integer)之间的转换过程。这一特性使得开发者无需手动创建包装类实例或使用显式类型转换,...

    java jdk 5学习笔记

    JDK 5引入了自动装箱和拆箱的概念,使得基础类型与对应的包装类之间可以无缝转换。例如,int与Integer,无需手动调用`Integer.valueOf()`或`.intValue()`。 2. **枚举类型(Enum)**: 在JDK 5之前,Java没有内置的...

    JDK5免安装解压包

    3. **自动装箱与拆箱(Autoboxing and Unboxing)** 自动装箱和拆箱简化了基本类型与包装类之间的转换。这意味着开发者不再需要手动进行如Integer i = new Integer(5); 这样的操作,而是可以直接写成Integer i = 5;...

    JDK5up22 Windows64位绿色版

    1. **自动装箱与拆箱**:JDK5引入了自动装箱和拆箱的概念,使得基本类型和其对应的包装类之间可以无缝转换,提高了代码的可读性。 2. **枚举类型(Enum)**:JDK5引入了枚举,这是一种新的数据类型,用于表示有限...

    Javajdk5学习笔记

    1. **自动装箱与拆箱**:JDK 5引入了自动装箱和拆箱功能,使得基本类型和它们对应的包装类之间可以无缝转换,提高了代码的简洁性。例如,`Integer i = 10;` 和 `int j = i;` 这样的操作在JDK 5后变得非常自然。 2. ...

    JDK 5.0.zip

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

    jdk5 win7 64位

    - **自动装箱/拆箱(Autoboxing and Unboxing)**:自动装箱将基本类型与对应的包装类之间进行转换,简化了代码。 - **可变参数(Varargs)**:允许在方法声明中使用可变长度的参数列表,方便调用。 - **增强的...

    jdk5 64位exe文件.zip

    3. **自动装箱与拆箱(Autoboxing and Unboxing)** 自动装箱是指将基本类型与对应的包装类之间进行自动转换,而自动拆箱则是相反的过程。这一特性简化了代码,使得处理基本类型和它们的包装类更加方便。 4. **...

    JDK1.5、JDK5下载

    2. **自动装箱与拆箱(Autoboxing/Unboxing)**:自动装箱允许在基本类型和对应的包装类之间进行无缝转换,简化了代码编写。 3. **枚举类型(Enums)**:枚举是一种新的数据类型,用于定义有限集合的常量,提高了...

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

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

    jdk5 windows 32位.rar

    2. **Autoboxing/Unboxing**:自动装箱和拆箱功能,使得基本类型与对应的包装类之间可以无缝转换。 3. **枚举类型(enum)**:增强了枚举的使用,使其成为一种强大的数据类型,支持比较、遍历等操作。 4. **变量作用...

    tomcat5 兼容jdk1.4插件

    JDK 5在2004年发布,引入了许多重要的新特性和改进,包括泛型、枚举、自动装箱/拆箱、可变参数等。因此,如果用户仍然使用JDK 1.4,那么他们将无法直接运行Tomcat 5.x。而通过提供这个“兼容jdk1.4插件”,开发者...

    jdk1.5.0_22.rar windows64位

    自动装箱和拆箱简化了基本类型与对应的包装类之间的操作。例如,你可以直接将一个Integer对象赋值给int类型的变量,反之亦然,无需手动调用`.intValue()`或`.valueOf()`方法。 5. **变量类型推断**(`for-each`...

    JDK 5中文文档PDF文档JDK 5中文文档PDF文档

    3. **自动装箱/拆箱(Autoboxing and Unboxing)**:自动装箱允许在原始类型与对应的包装类之间无缝转换,简化了代码。例如,`Integer i = 5;` 会自动将int转换为Integer对象,而 `int j = i;` 又会自动将Integer...

    jdk1.5.0_12源代码

    在JDK1.5.0_12的源代码中,可以看到编译器如何处理这种转换,例如,当基本类型与包装类进行操作时,编译器会自动添加装箱和拆箱的操作。 4. **变长参数(Varargs)**: 变长参数允许一个方法接受不定数量的参数。...

    JDK5_新特性

    7. **类型安全的自动装箱/拆箱**: 自动封箱和解封在JDK5.0中进行了优化,确保类型安全,避免了因隐式类型转换可能导致的错误。 8. **注解(Annotations)**: 注解提供了一种元数据机制,允许在代码中添加信息,...

    jdk1.5 x86

    JDK5中引入了自动装箱和拆箱功能,使得基本数据类型与对应的包装类之间可以无缝转换,简化了代码编写,提高了开发效率。 3. **枚举类型(Enums)** 在JDK5之前,Java中的常量通常使用public static final变量来...

Global site tag (gtag.js) - Google Analytics