String的使用

String

在这里插入图片描述

  • String str = “ct”;
//会创建一个对象 字符串常量池中也创建一个字符串。
String s1 = "ct";
//不会创建对象
String s2 = "ct";
  • String s1 = new String(“ct”);
//会创建两个对象 1会在堆上创建一个对象,2字符串常量池中也创建一个字符串。
String s1 = new String("ct");
//会创建一个对象 1会在堆上创建一个对象
String s1 = new String("ct");
  • String s1 = new String(“ct”).intern();
//会创建两个对象 1会在堆上创建一个对象,2字符串常量池中也创建一个字符串。
String s1 = new String("ct");
//不会创建对象
String s1 = new String("ct").intern();
   @Test
    void contextLoads() {
        String s1 = "pkslow";
        String str1 = new String("pkslow");
        String s2 = new String("pkslow").intern();
        System.out.println(str1.intern() == str1);
        System.out.println(s2 == str1);
        System.out.println(s2 == str1.intern());
        System.out.println(s2 == s1);
    }
    //运行结果
	false
	false
	true
	true
  • intern() 应用
		//用于优化内存
        List<MultiTenancy> multiTenancyList = multiTenancyService.list();
        MultiTenancy multiTenancy1 = new MultiTenancy();
        multiTenancy1.setName(multiTenancyList.get(0).getName().intern());
        MultiTenancy multiTenancy2 = new MultiTenancy();
        multiTenancy2.setName(multiTenancyList.get(1).getName().intern());
        System.out.println(multiTenancy1.getName() == multiTenancy2.getName());
        System.out.println(multiTenancy1.getName().equals(multiTenancy2.getName()));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值