java对象默认的toString方法返回的String类型

今天突然想到了一个问题:一个对象默认的toString方法,返回的String是放在常量池中的,还是堆中的

 

就做了个实验

 

        Integer one_1 = new Integer(1);
        String str_one = one_1.toString();
        String one_2 = "1";
        String one_3 = new String("1");

        System.out.println("str_one = "+str_one);
        System.out.println("one_2 = "+one_2);
        System.out.println("one_3 = "+one_3);


        System.out.println("one_1 == one_2 "+(str_one == one_2));
        System.out.println("one_1 == one_3 "+(str_one == one_3));
        System.out.println("str_one.equals(one_3) "+str_one.equals(one_3));
        System.out.println("one_2 == one_3 "+(one_2 == one_3));

 

 

输出

 

str_one = 1
one_2 = 1
one_3 = 1
one_1 == one_2 false
one_1 == one_3 false
str_one.equals(one_3) true
one_2 == one_3 false

 

 

 

证明了:对象默认的toString方法,返回的String是放在堆中的String对象

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值