使用数组创建了多少个对象?【JAVA]

Seb*_*ian 7 java arrays oop object

您好我想知道这个数组创建了多少个对象?

String arr[] = {"Paul", "Steven", "Jennifer", "Bart"};
Run Code Online (Sandbox Code Playgroud)

提前致谢!

cor*_*iKa 11

创建了九个对象.

每个String都是两个对象.String引用和String的底层char[].所以对于4个字符串,那是8个对象.

然后,String[]总共有9个.

这当然假定intern()JVM尚未编写String文本.如果有,那么就不会创造String,而是从拉intern池,它可以给你创造了一个总的1,3,5,7,还是原来的9个物体,取决于有多少Strings的intern主编.

  • @Tim这也是我的想法.谁想出这个作为脑筋急转弯的人应该得到一些荣誉,但无论谁将它放在考试上都应该被枪杀. (2认同)