2020
09-28
09-28
String s = new String('a ') 到底产生几个对象
老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才!上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有”宜春”,就是两个。反之就是一个。是...
继续阅读 >