6.1 Java8增强的包装类

来源:互联网 发布:java 空格 显示问号 编辑:程序博客网 时间:2024/05/29 07:18

JDK1.5提供了自动装箱和自动拆箱功能。
Java提供了final关键字来修饰变量、方法和类。
抽象类主要作为多个类的模板,而接口则定义了多类应该遵守的规范。
所有引用类型的变量都及继承了Object类。
如果希望获得包装类对象中包装的基本类型变量,则可以使用包装类提供的XXXvalue()实例方法。
开发者可以把基本类型的变量近似的当成对象使用(所有装箱、拆箱过程都由系统自由完成,无须程序员理会)
除此之外,包装类还可实现基本类型变量和字符串之间的转换。

package chap6_1;public class Primitive2String {    public static void main(String[] args)    {        String intStr="123";        int it1=Integer.parseInt(intStr);        int it2=new Integer(intStr);        System.out.println(it2);        String floatStr="4.56";        float ft1=Float.parseFloat(floatStr);        float ft2=new Float(floatStr);        System.out.println(ft2);        String ftStr=String.valueOf(2.345f);        System.out.println(ftStr);        String dbStr=String.valueOf(3.344);        String boolStr=String.valueOf(true);        System.out.println(boolStr.toUpperCase());    }}

运行结果

1234.562.345TRUE
package chap6_1;public class WrapperClassCompare {    public static void main(String[] args) {        // TODO Auto-generated method stub        Integer a=new Integer(6);        System.out.println("6的包装类实例是否大于5.0  "+(a>5.0));        System.out.println("比较2个包装类的实例是否相等");        System.out.println(new Integer(2)==new Integer(2));        Integer ina=2;        Integer inb=2;        System.out.println("两个2自动装箱后是否相等"+(ina==inb));        Integer biga=128;        Integer bigb=128;        System.out.println("两个128自动装箱后是否相等"+(biga==bigb));        System.out.println(Boolean.compare(true, false));        System.out.println(Boolean.compare(true, true));        System.out.println(Boolean.compare(false, true));    }}

运行结果

6的包装类实例是否大于5.0  true比较2个包装类的实例是否相等false两个2自动装箱后是否相等true两个128自动装箱后是否相等false10-1

如果希望把基本类型变量转换成字符串,还有一种更简单的方法:将基本类型变量和”“进行连接运算。
Java把一些创建成本大、需要频繁使用的对象缓存起来,从而提高程序的运行性能。

package chap6_1;public class UnsignedTest {    public static void main(String[] args) {        // TODO Auto-generated method stub        byte b=-3;        System.out.println("byte类型的-3对应的无符号整数:"+Byte.toUnsignedInt(b));        int val=Integer.parseUnsignedInt("ab",16);        System.out.println(val);        System.out.println(Integer.toUnsignedString(-12, 16));        System.out.println(Integer.divideUnsigned(-2, 3));        System.out.println(Integer.remainderUnsigned(-2, 7));    }}

运行结果

byte类型的-3对应的无符号整数:253171fffffff414316557642

无符号整数不支持负数,其最小值为0.

0 0
原创粉丝点击