zoukankan      html  css  js  c++  java
  • java的不可变类

    不可变类(immutable class)是指当创建了这个类的实例后,就不允许修改它的值了,也就是说,一个对象一旦被创建出来,在其整个生命周期中,它的成员变量就不能被修改了。

    Java中所有基本类型的包装类都是不可变类如:Integer、Float,此外String也是不可变类。

    所以就有了疑问,在程序中经常要修改数字,String这些变量,它们的实例不可修改该怎么实现呢? 如下列代码也不会报错

    String s = 'Hello';
    s += ' World!';
    System.out.println(s);

    表面上看,好像是修改了String类型对象s的值。

    String s = 'Hello'; 这一句声明了一个可以指向String类型对象的引用,引用名为s,它指向了一个字符串常量“Hello”。
    s += ' World!';这句并没有改变s指向的对象(因为String类是不可变类),而是s重新指向另外一个String对象,对象内容为“Hello World!”。
     
  • 相关阅读:
    3步学会用gulp
    div需要重置吗?
    HTML元素遮挡Flash之梦
    移动WEB开发常用技巧
    四:分组查询
    三:函数
    二:查询
    一:MySQL
    三:JVM(重点)
    二:JAVA通知唤醒机制,Lock替换synchronize
  • 原文地址:https://www.cnblogs.com/Jacck/p/7735326.html
Copyright © 2011-2022 走看看