Java学习笔记之JDK1.5新特性(四):自动装箱和自动拆箱
来源:互联网 发布:邓肯巅峰数据 编辑:程序博客网 时间:2024/06/09 16:51
package com.collection.jdk15;import java.util.ArrayList;import java.util.List;import org.junit.Test;/*JDK1.5新特性 ---> 自动装箱和自动拆箱java是面向对象的语言,任何事物都可以使用类进行描述;于是sun公司就使用了一些类描述java中八种数据类型;基本数据类型保证类型byteByteshortShortint IntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean */public class Demo4 {// 基本数据类型存在包装类的好处:@Testpublic void test1(){String str = "12";// 字符串转换成int数据类型;int i = Integer.parseInt(str);System.out.println(i+1);// 把数字转换成字符串String s = Integer.toString(i);System.out.println(s);// 把整数转换成对应的进制形式System.out.println("10的二进制:" + Integer.toBinaryString(10));System.out.println("10的八进制:" + Integer.toOctalString(10));System.out.println("10的十六进制:" + Integer.toHexString(10));// 可以把字符串当成对应的进制数据转换成十进制数据String data = "1010";int a1 = Integer.parseInt(data);// 默认是把数据当成十进制int a2 = Integer.parseInt(data, 2);// 将data对应的数据当成二进制数据int a3 = Integer.parseInt(data, 8);// 将data对应的数据当成八进制数据int a4 = Integer.parseInt(data, 16);// 将data对应的数据当成十六进制数据System.out.println("a1:" + a1);System.out.println("二进制1010对应的十进制数:" + a2);// 10System.out.println("八进制1010对应的十进制数:" + a3);// 520System.out.println("十六进制1010对应的十进制数:" + a4);// 4112}// 自动装箱:@Testpublic void test2(){// 向集合中添加整型数据//List<int> list = new ArrayList<int>();// 错误;集合中只能存储对象类型的数据,不能存储基本数据类型的数据List<Integer> list = new ArrayList<Integer>();list.add(12);list.add(3);// jdk1.4以前的写法:list.add(new Integer(33));list.add(new Integer(123));/*问题:集合是可以存储任意对象类型数据的容器;那么,上面为什么能够存储基本数据类型的数据?在jdk1.5之前,上面这种写法是会报错的;但是jdk1.5以后,出现了自动装箱的技术;自动装箱:自动把java的基本数据类型的数据转换成对象类型的数据;*/int a = 10;Integer b = a;// 自动装箱;把基本数据类型的数据赋值给引用类型的数据;Integer c = new Integer(a);// jdk1.5以前的写法;}// 自动拆箱@Testpublic void test3(){// 创建一个引用类型的数据Integer i = new Integer(22);// 自动拆箱:将引用类型的数据转换成基本数据类型的数据;int a = i;System.out.println("a:" + a);// jdk1.4以前的写法:将引用类型的数据转换成基本数据类型的数据;int b = i.intValue();System.out.println("b:" + b);}@Testpublic void test4(){/*Integer内部维护了一个缓冲数组,该缓冲数组存储的数据范围是-128~127;如果指定的数据是在这个范围之内的,那么就直接冲缓存中获取数据;如果指定的数据超出这个范围了,那么就需要重新创建新的对象存储数据了; */Integer a = 120;Integer b = 120;System.out.println("是同一个对象吗?" + (a == b)); // trueInteger m = 128;Integer n = 128;System.out.println("是同一个对象吗?" + (m == n)); // false}}
阅读全文
0 0
- Java学习笔记之JDK1.5新特性(四):自动装箱和自动拆箱
- jdk1.5新特性之自动装箱与拆箱
- jdk1.5新特性4之自动装箱和自动拆箱与享元模式
- 谈谈JDK1.5新特性之Integer与int的自动装箱和自动拆箱
- JDK1.5新特性之自动装箱与自动拆箱
- jdk1.5新特性之自动装箱与自动拆箱
- JDK1.5新特性--自动装箱与拆箱
- jdk1.5新特性:自动装箱
- JDK1.5新特性之---自动装箱/拆箱
- JAVA JDK1.5新特性<静态带入、可变参数、增强For循环、自动装箱及自动拆箱>
- JDK1.5 之 自动拆箱装箱
- java1.5 新特性 自动装箱和拆箱
- java JDK1.5新特性(一) [静态导入] [可变参数] [增强for] [自动装箱拆箱] [枚举]
- JDK 5.0新特性之自动装箱自动拆箱
- 黑马程序员-jdk1.5新特性--基本数据类型的自动拆箱与装箱
- 自动装箱的疑惑(jdk1.5中自动装/折箱的新特性)
- java的自动装箱和自动拆箱--jdk5的新特性
- 【学习总结】java高级特性之自动拆箱和装箱
- 项目中sql insert语句一定要规范写
- 谈谈url重写
- 利用IPMI挂载镜像装系统
- 第二章、SQLServer 工具
- XlsxWriter模块常用方法说明
- Java学习笔记之JDK1.5新特性(四):自动装箱和自动拆箱
- OpenStack Tacker介绍
- 一分钟解决你的公有云私有云选择困难症
- AA制算法-java
- 简单整合saltstack与django,实现salt自动化运维
- 《剑指Offer》 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。
- @Service注解@Resource在何时使用
- Java学习笔记之JDK1.5新特性(五):枚举类
- POI 合并单元格