String 类不可变的意思

通过比较字符串hashCode的值来看

public class Main {
    /*
    * 字符串一旦定义,就无法改变其内存地址的值
    * */
    public static void main(String[] args) {
        String s1 = "111";
        System.out.println("s1 hashCode值:"+s1.hashCode());
    }
}

改变后的hashCode值

定义同字符串指向还是原来的hashCode值

不可变的好处

String类在Java很多类中被广泛的使用(作为方法的参数),比如网络连接,打开文件等操作。
如果String类可变,某个连接或者文件会可能被改变,这可能会导致严重的安全威胁。在反射的时候,不稳定的字符串也可能造成安全问题。

posted @   有何和不可  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示