java自动装箱和拆箱
2013-07-19 10:59
169 查看
package com.example.main; /* * * 基本类型:int,double,float,long,boolean,char,btye,shor * 基本类型包装类:Integer,Double,Float,Long,Boolean,Char,Byte,Short * 两者有什么差别,包装类是类,是对象,而基本类型是有值的“变量”,再细化一点,就是包装类的实例(对象)创建在堆上, * 而基本类型创建在栈上,这是JAVA为了程序的速度考虑做出的优化, * 那么既然是创建在栈上,所以基本类型都有大小的规定(每种基本类型所占的字节是一定的) * */ public class Main { public static void main(String[] args) { System.out.println("java 自动装箱和拆箱"); /* * 实际上,程序运行时,系统为我们执行了下面一条语句: Integer number = new Integer(50); */ Integer i = 50; System.out.println("java 实现自动装箱" + i); /* * 实际上,程序运行时,系统为我们执行了下面一条语句: int p = i.intValue(); */ int p = i; System.out.println("java 实现自动拆箱" + p); // 当Int值在-128~127之间时,java使用同一个对象处理,也就是说他会使用同一个对象对其进行处理 Integer m = 100; Integer n = 100; /* * " == " 比较的是哈希码的值,也就是比较 hashCode() * 方法的返回值,这个值是唯一的,在底层它是用来确定对象在堆内存上的存储位置。 * " == " 也可以用来做基本数据类型的比较。 * equals 方法大家都知道,它是用来比较两个对象的内容是否一样。 */ System.out.println("m == n " + (m == n)); System.out.println("m equals (n) " + m.equals(n)); // 当int值超过128时,java就会使用不同的对象处理 Integer r = 128; Integer s = 128; System.out.println("r == s " + (r == s)); System.out.println("r equals (s) " + r.equals(s)); } }
相关文章推荐
- Java中的自动装箱与拆箱
- I学霸官方免费教程二十一:Java常用类之包装类 自动装箱 自动拆箱
- Java5.0新特性02-自动装箱与拆箱(Autoboxing/Autounboxing)
- day7 常用类字符串处理类--String、StringBuffer、StringBuilder 自动装箱、拆箱 Object类 Java 的异常处理机制
- Java进阶之自动拆箱与自动装箱
- Java的自动装箱(autoboxing)和拆箱(unboxing)
- Java 自动装箱,拆箱
- java打包基本类型和自动装箱、拆箱
- java基础增强--自动装箱拆箱、增强for循环、可变参数、枚举类、内省、beanUtils
- 浅谈JAVA中的自动装箱/拆箱
- Java基础加强<二>可变参数、增强for循环、基本类型的自动拆箱与装箱、枚举
- Java 自动装箱拆箱
- 2.深入java包装类自动装箱、自动拆箱
- Java中的自动拆箱装箱(Autoboxing&Unboxing)
- Java 自动装箱与拆箱(Autoboxing and unboxing)
- Java 自动装箱与拆箱
- Java自动装箱/拆箱 是什么意思
- Java的自动拆箱和装箱
- Java学习之自动装箱和自动拆箱源码分析
- Java 自动装箱 拆箱