诡异的爪哇语法,求拯救:)

meowchina 2012-12-18 03:10:25
public final AsyncTask<Params, Progress, Result> execute(Params... params) {
return executeOnExecutor(sDefaultExecutor, params);
}

Params... params
这货是神马?
总额可以编译通过?碉堡了:(

...全文
155 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
meowchina 2012-12-18
  • 打赏
  • 举报
回复
引用 5 楼 faping_cao 的回复:
哥们喵的很搞笑
要把乃撕了:(
meowchina 2012-12-18
  • 打赏
  • 举报
回复
引用 6 楼 suciver 的回复:
引用 4 楼 meowchina 的回复:引用 2 楼 suciver 的回复: jdk1.5之后的新特性,可变参数。注意这个可变参数必须是在所有参数的最后一个才能定义。 喵的,可变参数有神马用? 为神马不放在ArrayList里呢? 喵的,这个不就是个可变长度参数么? 为了方便方法调用的。你用ArrayList当然可以。就是调用的时候,是不是要先new Arr……
可变参数仅仅是为了方便么? 喵的,把java弄复杂了呢:(
suciver 2012-12-18
  • 打赏
  • 举报
回复
引用 4 楼 meowchina 的回复:
引用 2 楼 suciver 的回复: jdk1.5之后的新特性,可变参数。注意这个可变参数必须是在所有参数的最后一个才能定义。 喵的,可变参数有神马用? 为神马不放在ArrayList里呢? 喵的,这个不就是个可变长度参数么?
为了方便方法调用的。你用ArrayList当然可以。就是调用的时候,是不是要先new ArrayList然后再用这个list把参数都add进去这个麻烦了点。可变参数就是可以直接在调用方法的时候传或不传参数都行 例如你这个例子调用的时候就可以execute(param1, param2, param3)还可以不传execute(); 如果你用List作为参数的话不是调用起来麻烦了点吗,调用方法之前要做这些个步骤 List list=new ArrayList(); list.add(param1); list.add(param2); list.add(param3); execute(list);不传参数的话又得用execute(null);就是调用起来不方便罢了
faping_cao 2012-12-18
  • 打赏
  • 举报
回复
哥们喵的很搞笑
meowchina 2012-12-18
  • 打赏
  • 举报
回复
引用 2 楼 suciver 的回复:
jdk1.5之后的新特性,可变参数。注意这个可变参数必须是在所有参数的最后一个才能定义。
喵的,可变参数有神马用? 为神马不放在ArrayList里呢? 喵的,这个不就是个可变长度参数么?
jinsf861030 2012-12-18
  • 打赏
  • 举报
回复
可以理解为:Params[] params
suciver 2012-12-18
  • 打赏
  • 举报
回复
jdk1.5之后的新特性,可变参数。注意这个可变参数必须是在所有参数的最后一个才能定义。
为啥呢 2012-12-18
  • 打赏
  • 举报
回复
这种参数写法会根据你传入参数的数量封装为一个相应长度的数组,其效果和数组参数相同,但要求必须作为方法的最后一个参数。 另外这样写将可能在方法重载时混淆,如get(String...strs)和get(String str)在get("")时就导致参数类型不明确的问题,必须要写成get(new String[]{""})来表示调用的是前面的方法。

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧