为了账号安全,请及时绑定邮箱和手机立即绑定

省略号(…)是什么?在这个方法中签名?

省略号(…)是什么?在这个方法中签名?

红颜莎娜 2019-06-29 10:16:17
省略号(…)是什么?在这个方法中签名?在APP引擎文档,省略号是什么?JID...)在这个方法中签名?public MessageBuilder withRecipientJids(JID... recipientJids)这三个点的作用是什么?
查看完整描述

3 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

使用省略瓦拉格方法内部就好像是一个数组:

public void PrintWithEllipsis(String...setOfStrings) {
    for (String s : setOfStrings)
        System.out.println(s);}

此方法可按以下方式调用:

obj.PrintWithEllipsis(); // prints nothingobj.PrintWithEllipsis("first"); // prints "first"obj.PrintWithEllipsis("first", "second"); // prints "first\nsecond"

PrintWithEllipsis,类型setOfStrings是一个字符串数组。这样您就可以为编译器节省一些工作,并传递一个数组:

String[] argsVar = {"first", "second"};obj.PrintWithEllipsis(argsVar);

瓦拉格方法,将序列参数视为相同类型的数组。因此,如果两个签名仅在其中一个声明序列而另一个声明数组中不同,如本例所示:

void process(String[] s){}void process(String...s){}

然后出现编译时错误。

资料来源:Java编程语言技术术语为variable arity parameter而不是普通术语varargs.


查看完整回答
反对 回复 2019-06-29
  • 3 回答
  • 0 关注
  • 519 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信