请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

intern()

堆中不存在怎么调用intern()方法呢?字符串常量池和堆中至少有一个存在吧

正在回答 回答被采纳积分+3

1回答

阿斯塔特 2020-03-26 23:04:14

String s = new String("a"); 首先会在常量池中创建一个 "a", new String() 的时候会在java堆中创建一个a对象。

1 回复 有任何疑惑可以回复我~
  • 翔仔 #1
    确实是这样的,感谢同学的热心支持,intern的作用就是发现如果没有就会去创建呀,此时可能是把引用或者常量本身放到常量池里,视频里也说了的
    回复 有任何疑惑可以回复我~ 2020-03-27 01:18:22
  • 老师我也有同样的疑惑,提问者应该是这个意思:我们在调用s.intern()前,s已经初始化过了,在常量池或堆中有值了,如果未初始化,程序本身编译就会报错,也就是不可能发现没有值,那么“发现如果没有就会去创建”是啥场景?
    回复 有任何疑惑可以回复我~ 2021-07-18 00:32:41
  • 同学好,“发现如果没有就会去创建”指的是常量池里没有的情况,s.intern主要是对常量池进行操作呢
    回复 有任何疑惑可以回复我~ 2021-07-18 23:30:39

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信