String相关面试题

	String s1 = "hello";
	String s2 = "hello";
	System.out.println(s1 == s2);

请问 输出什么?
双等号比较的是变量中保存的内存地址结果是true 他们都指向了常量池中的内存地址

在这里插入图片描述

	String x = new String("xyz");
    String y = new String("xyz");
    System.out.println(x == y);

请问输出什么?
new String 会在堆内存中新开辟一块空间,虽然这两个空间中都是存的字符串常量池中"xyz"的地址,但是这两个String对象的内存地址是不相同的,所以为false
在这里插入图片描述

	String x = new String("hello");
    String y = new String("hello");

请问一共创建了几个对象?
一共创建了3个对象,"hello"创建在字符串常量池中,
两个String对象创建在堆内存中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值