Java代码中`return new int[] {};`里的`{}`含义是什么?
关于
return new int[] {};的解释 首先明确:这行代码里的大括号不是引用内存中已有的内容,它是Java里创建空数组的语法。
具体细节:
new int[] {}是Java的数组初始化语法:大括号内部用来列举数组的元素,当大括号为空时,就会在堆内存中创建一个长度为0的空int数组,这是一块新分配的内存空间,和任何已有的内存内容都无关。- 在你的twoSum代码里,这个return是个兜底逻辑:LeetCode的两数之和题目保证输入一定存在有效解,所以循环里的
return new int[] { prevMap.get(diff), i };一定会被执行到。但Java要求方法必须返回符合声明类型的值,所以这里用空数组来满足语法要求——防止极端情况下循环结束后没有返回值的编译错误。 - 你可以对比代码里的另一个return语句:
return new int[] { prevMap.get(diff), i };,这里大括号里有两个元素,本质和空数组的语法是一样的,只是创建的数组包含两个元素而已。
内容的提问来源于stack exchange,提问作者SleepyProgrammingN0ises
相关产品推荐
相关产品推荐

