2021-04-30 09:06
厦门大学 golang lajiji:说错了 我重说一遍 intern的作用是 判断当前字符串是否在常量池中?
1、在的话,就直接返回常量池地址
2、不在的话,直接返回当前字符串的地址。
你的str1样例:常量池中有javv 和 aa。但是没有javvaa所以 判断的时候两次返回的都是堆中javvaa的地址,结果为tr ue。
你的str2样例:同理也是true
但是!!!你在判断之前,又加入了str3使得常量池出现了javvaav。所以判断为false。
所以,str1执行正确。str2由于你加了别的因素,导致结果出现问题。
0 点赞 评论 收藏
分享
关注他的用户也关注了: