java - 方法中的参数, Object... VS Object[] ,这两者是否具有相同的功能?
问题描述
我有一个方法如下:
public IndexRequest source(XContentType xContentType, Object... source) {
// some process
}
我知道如何使用它:
new IndexRequest().source(XContentType.JSON, "field", "baz", "fox"));
现在,我想像这样使用它:
List<String> list = new ArrayList(3);
list.add("field");
list.add("baz");
list.add("fox");
new IndexRequest().source(XContentType.JSON, list));
然后,我发现它已经通过了编译器。但是我不知道该功能是否正确使用...
我可以使用 Object[] 代替 Object...
解决方案
列表和数组是有区别的。最简单的方法是执行以下操作(将列表转换为数组,注意“toArray”方法):
List<String> list = new ArrayList(3);
list.add("field");
list.add("baz");
list.add("fox");
new IndexRequest().source(XContentType.JSON, list.toArray()));
推荐阅读
- node.js - AMP 电子邮件 | CORS 标头问题?在操场上工作而不是在 Gmail 中
- android - Android Loss 对 Service 的写入权限
- corda - 关闭 Hook Corda 集成测试
- url-rewriting - IIS 服务器上的反向代理和 ARR 问题
- json - 如何确定我的 JSON 对象失败的原因?
- android - DataBinderMapperImpl 找不到 ActivityLoginBinding 的符号
- sql - sql命令条件插入
- javascript - 如何在 json 模式输出中使用 Javascript 变量
- python - 尝试将 None 设置为默认方法参数时如何解决 AttributeError
- deep-learning - Rapidminer 变量重要性