对象包装器与自动装箱

所有基本数据类型都有一个与之对应的类,这些类称为包装器。Integer,Long,Float,Double,Short,Byte,Character,Void,Boolean(前6个类派生于公共的超类Number)
对象包装器类是不可变的,一旦构造了包装器,就不允许更改包装在其中的值。同时,包装器类还是final,因此不能定义它们的子类。如果想编写一个修改数值的方法,就需要使用在org.omg.CORBA包中定义的持有者类型(holder),包括IntHolder,BooleanHolder等。每个持有者类型都包含一个共有域值,通过它可以访问存储在其中的值。

public static void triple(IntHolder x)(
x.value = 3 * x.value;
)

java.lang.Integer

  • int intValue()
    以int的形式返回Integer对象的值(在Number类中覆盖了intValue方法。)
  • static String toString(int i)
    以一个新String对象的形式返回给定数值i的十进制表示。
  • static String toString(int i, int radix)
    返回数值i的基于给定radix参数进制的表示。
  • static int parseInt(String s)
    static int parseInt(String s, int radix)
    返回字符串s表示的整型数值,给定字符串表示的是十进制的 整数(第一种方法)或者返回radix参数进制的整数(第二种方法)
  • static Integer valueOf(String s)
    static Integer valueOf(String s, int radix)
    返回用s表示的整型数值进行初始化后的一个新Integer对象,给定字符串表示的是十进制的整数(第一种方法),或者是radix参数进制的整数(第二种方法)

java.text.NumberFormat

  • Number parse(String s)
    返回数值,假设给定的s表示了一个数值。

自动装箱与拆箱

ArrayList<Integer> list = new ArrayList<>();
list.add(3);将自动变换成
list.add(Integer.valueOf(3));这种变换被称为自动装箱(autoboxing)
将一个Integer赋值给一个int值,将会自动拆箱。
int n = list.get(i);
翻译成
int n = list.get(i).intValue();

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,771评论 0 33
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,948评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,766评论 18 399
  • 今天早上开始,宝宝突然拒绝吃奶瓶,只吸妈妈奶,一把奶瓶放进去就嗷嗷大哭,不知道怎么回事,妈妈的母乳不多,整天吸奶头...
    王小蜗阅读 168评论 0 0
  • 有时候我很疯和任何人有说不完的话有时候我很安静一个人听着耳熟能详的歌曲不理会任何人有时候很爱笑爱开各种各样的玩笑有...
    木子十一月阅读 288评论 2 0