为什么说不变模式可以提高性能

打印 上一主题 下一主题

主题 942|帖子 942|积分 2830

在Java中基础类型的包装类都是不可变的类,如Boolean、Byte、Character、Double、Float、Integer、Long、Short,另外还有String。
这些类创建的实例都是不可以变的实例。
  1. //Integer类代码 JDK1.8
  2. public final class Integer extends Number implements Comparable<Integer> {
  3.         private final int value;
  4.         public Integer(int value) {
  5.                 this.value = value;
  6.         }
复制代码
可以看到Integer类是final类型的不可被继承,其封装的int值是也是final的。这就导致了实例创建后我们没有其他办法去修改这个int值,所以说Integer对象是不可变对象。
那不可变对象又是如何提高性能的呢,这里看Integer的valueOf方法。
[code]    public static Integer valueOf(int i) {        if (i >= IntegerCache.low && i
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

东湖之滨

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表