zoukankan      html  css  js  c++  java
  • Java:包装类

    产生:

    为了提高数据类型的的面向对象性,所以产生了包装类,包装类中有各种便利的方法

    数据类型对应的包装类

    image

    使用:

    包装类可以实现将基本类型转换成字符串(或者字符串转换成基本类型):

    1.包装类中方法parseXXX

    2.构造器

    3.对于String,使用String中的valueof能将基本数据类型转换成字符串

    image_594d0323_2169

    包装类的实例可以与基本数据类型比较:

    直接把实例中包装的数值拿出来比较

    image_594d03a2_20fd

    当如果是包装类实例的比较的话,比较的是所指向的对象:

    image_594d03d2_310b

    使用注意:

    使用自动装箱赋值时会出现下列情况:

    image_594d0421_4adf

    原因是Integer的源码设计对于-128127的数值进行了静态处理,所以对于-128127Integer都是指向同一个数组中的元素,而对于不是这个范围的就新创建Integer实例。这是java中一种缓存的使用。

    版本区别:

    JDK版本中的区别:

    1.5以前,把基本数据类型转换成对应的包装类需要通过相应的构造器来实现,八种类型中除了Character之外都可以传入一个字符串参数来构造对象。

    image

    JDK1.5之后,提供了自动装箱和自动拆箱功能,自动装箱就是可以直接把一个基本类型赋给相应的包装类

    自动拆箱就是可以直接把一个包装类赋给相应的基本类型,如果是Object则需要转型(装箱--向上,拆箱--向下)

    image

    jdk1.7增强了包装类的功能,为所有的包装类提供了一个静态的compare方法,可以使用compare方法来比较两个基本类型值的大小

    image

    另外jdk1.8也增加了很多实用的方法,如需详情了解请查询API文档。

  • 相关阅读:
    iOS软件版本更新思路
    Xcode里-ObjC, -all_load, -force_load
    NSFileManager
    [Android问答] px、dp和sp,这些单位有什么区别?
    annot refer to a non-final variable * inside an inner class defined in a different method"错误解析
    android Handler post sendMessage
    谈layout_gravity和gravity的用法
    Android LayoutInflater详解
    Android中pendingIntent的深入理解
    Intent和PendingIntent的区别
  • 原文地址:https://www.cnblogs.com/progor/p/7071531.html
Copyright © 2011-2022 走看看