当前位置: 首页 > 面试题库 >

带有方括号语法的Java函数定义

祁嘉木
2023-03-14
问题内容

在寻找的源代码中ByteArrayOutputStream,我看到了以下功能:

public synchronized byte toByteArray()[] {
    return Arrays.copyOf(buf, count);
}

该语法在哪里记录?我的意思[]是功能的前面。这与声明一个常规数组相同,在该常规数组中括号可以位于数组名称之后或之前,但是在这种情况下,括号可以位于函数名称之后?

String[] args;

VS

String args[];

编辑:2018-05-22

我在这里发现了这种疯狂语法的更多用法:关于Java的十件事

#3是他们提到可以利用上述语法的所有方式的地方


问题答案:

在JLS第8.4节中:

MethodDeclarator:
    Identifier ( [FormalParameterList] ) [Dims]

返回数组的方法的声明允许将表示数组类型的部分或全部括号对放在形式参数列表之后。支持此语法以与Java编程语言的早期版本兼容。强烈建议在新代码中不要使用此语法。



 类似资料:
  • 问题内容: 我遇到了一个使用以下语法导入库的javascript库: 上面的方法和下面的方法有什么区别? 问题答案: 这说: 从名称下导入 默认* 导出,并以相同的名称导入 命名的 导出。 * 这结合了您可能已经看到的两种常见语法 第一个用于导入和命名默认导出,第二个用于导入指定的命名导出。 通常,大多数模块将提供单个默认导出或命名导出列表。模块同时提供默认导出 和 命名导出的情况要少一些。但是,

  • 问题内容: 我注意到,如果使用许多不带括号的DataFrame函数,其行为似乎类似于“属性”,例如 这是如何完成的,是一种好的做法?这是Linux上的熊猫0.15.1 问题答案: 它们是不同的,因此不建议使用,它们清楚地表明这是一种方法并且恰好输出结果,而另一种则表明了预期的输出。 这就是为什么您不应该这样做的原因: 所以好吧,您没有使用括号正确地调用该方法并看到显示为有效的输出,但是如果您引用了

  • 问题内容: 今天有人告诉我,可以不带括号地调用一个函数。我能想到的唯一方法是使用类似或的函数。 但是,这些都需要加上括号,然后放在第一个平方上。我还考虑了将函数传递给某种事件处理程序的想法,例如: 但是,问题就变成了“如何在没有括号的情况下调用?” 那么这个谜题的解决方案是什么?如何在不使用括号的情况下调用Javascript函数? 问题答案: 有多种不带括号的函数调用方法。 假设您已定义此函数:

  • 今天有人告诉我,可以调用没有括号的函数。我能想到的唯一方法是使用像或这样的函数。 但这些要求在和上加上括号,让我们处于第一步。我还考虑了将函数传递给某种事件处理程序的想法,例如: 但是问题变成了“如何在没有括号的情况下调用?” 那么这个谜的答案是什么呢?如何在Javascript中调用函数而不使用括号?

  • 如何为这些参数编写OpenAPI(Swagger)定义?

  • Note: 这个特性从 FreeMarker 2.3.4 版本后才存在。 FreeMarker支持一个替换的语法。就是在FreeMarker的指令和注释中用 [ 和 ] 来代替 < 和 >,例如下面这个例子: 调用预定义指令:[#list animals as animal]...[/#list] 调用自定义指令:[@myMacro /] 注释:[#-- the comment --] 为了使用这