Java自动将集合转换为参数数组?

2024-07-04

我知道Java“...”数组参数语法可以接收数组作为参数,或者只是传递给方法的许多参数。然而,我注意到它对于集合也是如此:

public static void main(String[] args) {
    Collection<Object> objects = new ArrayList<>();
    test(objects);
}

public static void test (Object...objects) {
    System.out.println("no compile errors");
}

这可以编译并运行,而无需我调用toArray()方法。幕后发生了什么?此语法是否有其他“自动转换”方法?

顺便说一句,我正在使用 Java 1.7。


它不会将集合转换为数组。它将集合本身​​作为第一个 vararg 参数传递。因此,测试方法接收一个只有一个元素的数组,该元素就是 ArrayList。

通过替换可以轻松找到

System.out.println("no compile errors");

by

System.out.println(Arrays.toString(objects);

或者使用调试器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java自动将集合转换为参数数组? 的相关文章

随机推荐

  • 如何连接 Azure 存储以从 Blob 存储读取 .txt 文件

    谁能告诉我如何从 Azure Blob 存储读取文本文件 这很简单 string text CloudStorageAccount Parse
  • 如何将 XML 文件直接写入 zip 存档?

    在不使用第 3 方库的情况下 使用 JAXB 直接将 XML 文件列表写入 zip 存档的正确方法是什么 将所有 XML 文件写入一个目录然后压缩会更好吗 正如其他人指出的那样 您可以使用ZipOutputStream类来创建 ZIP 文件
  • 如何确定Android设备的安全补丁级别?

    如何使用 API 或其他机制确定 Android 设备的安全补丁级别 我正在寻找相同的安全补丁信息 可以通过单击手动找到Settings gt About设备上的菜单 例如 谷歌每月都会发布安全补丁2016 12 01 https sour
  • 用随机图像填充表格

    首先 我的编码经验包括修改简单的脚本以在我的页面上工作 其次 我搜索并发现了几个类似的问题 但无法完全解决它们 我需要一些帮助来使用大约 40 张图像数组中的随机图像填充 3x3 表 我目前有一个使用 backgroundImage 属性的
  • 杰克逊没有认识到存在的领域

    这是我的 JSON totalSize 46 done true records Name Wamu I Start Date c 2016 09 26T16 56 10 000 0000 Status c Completed Type c
  • 在 MacOS 命令行上使用 Android Studio 内置 Java

    这里有很多关于在 Mac 上安装 Java 以及让 Android Studio 使用正确版本的信息 很多已经过时 但是最近版本的 Android Studio 2 2 及更高版本 提供了自己的 Java 对于大多数 Mac 用户来说 没有
  • 如何使用ast.NodeVisitor的简单示例?

    有谁有一个使用 ast NodeVisitor 来遍历 Python 2 6 中的抽象语法树的简单示例吗 我不清楚访问和 generic visit 之间的区别 而且我找不到任何使用谷歌代码搜索或普通谷歌的示例 ast visit 当然 除
  • 导入文本文件:没有要从文件中解析的列

    我正在尝试从 sys stdin 获取输入 这是hadoop 的map reducer 程序 输入文件为txt格式 数据集预览 196 242 3 881250949 186 302 3 891717742 22 377 1 8788871
  • 红宝石数学宝石

    有谁知道是否有适合数学 几何运算的好宝石 我需要一些这样的东西 点积 叉积 向量之间的角度 Matrix 表面法线 向量计算 加 减 奇异值分解 thx tux 我强烈推荐Ruby GSL http rb gsl rubyforge org
  • 将 data.table 转换为数据框而不复制[重复]

    这个问题在这里已经有答案了 本问答集 https stackoverflow com questions 20345022 convert a data frame to a data table without copy询问如何在不复制的
  • matlab的imregionalmax()和scipy.ndimage.filters.maximum_filter有什么区别

    我需要找到图像的区域最大值以获得用于分水岭分割的前景标记 我在 matlab 中看到使用该函数imregionalmax http www mathworks com help images ref imregionalmax html 由
  • 像 peek and pop 一样手动振动 iPhone 6S?

    如何手动触发类似单击的振动 就像使用 peek pop 或应用程序快捷方式时发生的振动一样 这个方法很容易实现 而且效果非常好 我自己尝试过 import AudioToolbox AudioServicesPlaySystemSound
  • 角度错误:没有 NgControl 的提供者

    我正在创建一个实现 ControlValueAccessor 的组件 以在响应式表单中使用 它只是输入元素的包装器 上面有一些管道 我注入了 NgControl 以便检索有效 无效状态并将它们传播到内部输入元素 当在另一个输入中找到输入值时
  • 如何使用插入符号和 glmnet 应用套索逻辑回归?

    我试图重复以下代码行 x mat lt as matrix train df predictors y class lt train df Response cv lasso fit lt cv glmnet x x mat y y cla
  • 单声道高分辨率计时器(在 Linux 上)

    我正在将一个以 50 毫秒轮询 用于串行通信 的 Windows C 应用程序移植到 Linux 使用 Mono 我们当前使用 ZylTimer 由 ZylSoft 提供 在每个时间间隔生成 tick 事件 但是由于该库将 pInvoke
  • 强参数允许嵌套属性的所有属性

    有办法进去吗参数强 https github com rails strong parameters允许 a 的所有属性嵌套属性模型 这是示例代码 class Lever lt ActiveRecord Base has one lever
  • 如何在运行时创建对象?

    我需要在运行时创建一个类的多个不同对象 这个数字也是在运行时确定的 就像我们在运行时得到 int no o objects 10 一样 然后我需要实例化一个类10次 Thanks 阅读Java 教程中的数组 http java sun co
  • 如何在 Visual Studio 2017 中更新 Django

    我正在尝试设置 Visual Studio 2017 进行 Django 开发 但 Django 1 9 版本很旧 如何将其更新到最新版本 gt 2 0 使用建议的安装创建 Django Web 项目 为您的环境命名 选择 Python环境
  • 汇编语言:cbw

    我不确定是什么cbw命令确实如此 我有一段代码 mov ax 0FF0h cbw idiv ah cbw后ax的值如何变化 The cbw指令将一个字节符号扩展为一个字 在这种情况下 它将采用符号位AL 恰好是1 并将其复制到每一位AH 这
  • Java自动将集合转换为参数数组?

    我知道Java 数组参数语法可以接收数组作为参数 或者只是传递给方法的许多参数 然而 我注意到它对于集合也是如此 public static void main String args Collection objects new Arra