String字符串的intern方法

Java中的String intern方法是一个重要特性,只有在拼接字符串时,使用intern方法处理后的字符串才会与原始字符串相等。该方法涉及到字符串池的概念。在程序启动时,System类的初始化会调用相关方法,其中涉及到对包含'java'字样的字符串常量的处理。
摘要由CSDN通过智能技术生成

String字符串的intern方法

在这里插入图片描述

    public static void main(String[] args) {
        String str1 = new StringBuilder("mei").append("tuan").toString();
        System.out.println("str1 = " + str1);
        System.out.println("str1.intern() = " + str1.intern());
        System.out.println(str1 == str1.intern()); // true

        System.out.println();

        String str2 = new StringBuilder("re").append("redis").toString();
        System.out.println("str2 = " + str2);
        System.out.println("str2.intern() = " + str2.intern());
        System.out.println(str2 == str2.intern()); // false
    }

输出结果中只有拼接 java 字符串时 字符串和 字符串的intern方法的结果才会相等
在这里插入图片描述
调用System.out.println() ,会初始化System类,在线程初始化后调用 System#initializeSystemClass 方法,initializeSystemClass 方法中调用了 sun.misc.Version.init(); Version类初始化是会初始化类的属性,
Version类中包含了 值为 java 的字符串字符串常量 private static final String launcher_name = “java”;

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码到成功>_<

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值