java8增强的包装类
来源:互联网 发布:淘宝一千零一夜活动 编辑:程序博客网 时间:2024/06/06 15:01
5.1 java8增强的包装类
自动装箱(Autoboxing)和自动拆箱(AutoUnboxing)功能
package code;public class AutoBoxUnboxing{ public static void main(String [] args){ //直接把一个基本类型变量赋给Integer对象 Integer inObj = 5; //直接把一个boolean类型变量赋给一个Object类型的变量 Object boolObj = true; //直接把一个Integer对象赋给int类型的变量 int it = inObj; if(boolObj instanceof Boolean){ //先把Object对象强制类型转换为Boolean类型,再赋给boolean变量 boolean b = (Boolean)boolObj; System.out.println(b); } }}
当JDK提供了自动装箱和自动拆箱功能后,大大简化了基本类型变量和包装类对象之间的转换过程
把字符串类型的值转换为基本类型的值有两种方式:
1.利用包装类提供的parseXxx(String s )的静态方法,(除了Character);
2.利用包装类提供的Xxx(String s )构造器
将基本类型变量转换为字符串:
利用String类提供的多个重载valueOf()方法
package code;public class Primitive2String{ public static void main(String[] args){ String intStr = "123"; //把一个特定字符串转换成int类型 int it1 = Integer.parseInt(intStr); int it2 = new Integer(intStr); System.out.println(it1); System.out.println(it2); String floatStr = "4.56"; float ft1 = Float.parseFloat(floatStr); float ft2 = new Float(floatStr); System.out.println(ft1); System.out.println(ft2); String ftStr = String.valueOf(2.345f); System.out.println(ftStr); //把一个boolean变量转换成String变量 String boolStr = String.valueOf(true); System.out.println(boolStr.toUpperCase()); }}
如果希望将基本类型装换成字符串,直接将基本类型和”“进行连接运算,系统会自动把基本类型变量转换成字符串,
package code;public class WrapperClassCompare{ public static void main(String[]args){ Integer a = new Integer(6); System.out.println("6的包装类实例是否大于5.0" + (a > 5.0)); System.out.println("比较两个包装类的实例是否相等" + (new Integer(2) == new Integer(2))); //通过自动装箱,允许把基本类型赋值给包装类实例 Integer ina = 2; Integer inb = 2; System.out.println("两个2自动装箱后是否相等:" + (ina == inb));//true Integer biga = 128; Integer bigb = 128; System.out.println("两个128自动装箱后是否相等:" + (biga == bigb));//false //两个boolean类型比较时,true>false System.out.println(Boolean.compare(true,false)); System.out.println(Boolean.compare(true,true)); System.out.println(Boolean.compare(false,true)); }}
系统把一个-128~127之间的整数自动装箱成Integer实例,并放入一个名为cache的数组中缓存起来,如果以后把-128~127之间的整数自动装箱成一个Integer实例时,实际上是直接指向对应的数组元素,所以全部相等,但每次把一个不在-128~127范围内的整数自动装箱成Integer实例时,系统总是重新创建一个Integer实例,所以出现上述结果
package code;public class UnsignedTest{ public static void main(String[]args){ byte b = -3; //将byte类型的-3转换为无符号整数 System.out.println("byte类型的-3对应的无符号整型是" + Byte.toUnsignedInt(b)); //指定使用十六进制解析无符号整数 int val = Integer.parseUnsignedInt("ab", 16); System.out.println(val); //将-12转换为无符号int型,然后转换为十六进制的字符串 System.out.println(Integer.toUnsignedString(-12,16)); //将两个数转换为无符号整数后相除 System.out.println(Integer.divideUnsigned(-4,2)); //将两个数转换为无符号整数相除后求余 System.out.println(Integer.remainderUnsigned(-2,7)); }}
0 0
- java8增强的包装类
- 6.1 Java8增强的包装类
- JAVA8 增强的工具类: Arrays
- java8增强的工具类 :Arrays
- java8增强的工具类:Arrays
- Java 8增强的包装类
- java8新特性之一:接口的增强
- 增强型for循环 包装类 实现简单的 字母出现次数统计
- Java8包装类 新增 无符号运算方法
- 使用Java8增强的Iterator遍历集合元素
- Java8新特性接口的增强之default方法
- 类包装的方式
- 包装类的学习
- java的包装类
- 包装类的用法
- java的包装类
- JAVA的包装类
- 包装类的使用
- ACM 计算几何中的精度问题
- Linux信号实践(5) --时间与定时器
- This Android SDK requires Android Developer Toolkit version 20.0.0 or above
- [CODEVS 3037] 线段覆盖 5
- Triangle Hazard - UVa 12165 几何
- java8增强的包装类
- 何际平:发展康复机器人束手束脚只会寸步难行
- 歌德体下载
- 1032_挖掘机技术哪家强(20)
- 我做过的关于在线教育的探索
- 【JavaScript】兼容IE6可调可控的图片滑块
- HDU 2602 Bone Collector
- 使easyui datagrid 自适应的注意事项
- appCompat_v7下如何去掉标题栏