java,数组,在堆中?==返回false?

以下输出为何是false,true ?(jdk1.8)
{"A", "C", "D"};在堆中存储了两份?
1在常量池中存储了一份?
#Java#
全部评论
数组在堆里又不是常量池,数组的完全写法是new String[]{}看见new的都是在堆里实例化,数组不是对象,但是可以当做对象理解
点赞 回复 分享
发布于 2019-06-13 01:51
数组也是对象,这种是利用了数组的初始化器隐式地创建了一个数组对象
点赞 回复 分享
发布于 2019-06-12 20:39
数组初始化的时候相当于是new了一个新的对象吧,我猜的
点赞 回复 分享
发布于 2019-06-12 20:29
第二个是true的原因是缓存机制
点赞 回复 分享
发布于 2019-06-12 20:23
integer缓存机制,去看看
点赞 回复 分享
发布于 2019-06-12 20:23

相关推荐

12-24 14:26
东北大学 Java
一只乌鸦:重邮+东北,好经典的学校
最后再改一次简历
点赞 评论 收藏
分享
想干测开的tomca...:这份简历是“大一新生硬凹资深后端”的典型反面教材,槽点离谱到能让面试官直接笑出声: ### 1. 「年龄+入学时间」和项目复杂度完全脱节,可信度直接归0 你2024年7月才入学(现在刚读了1年多),19岁的大一新生,能把Vue3+Spring Boot+ShardingSphere+K8s+AI这些技术全塞进两个项目里?别说实际开发,光把这些技术的文档看完都得半年——这不是“能力强”,是“把招聘JD里的技术词全抄过来造假”,明摆着没碰过实际代码
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务