首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2013-01-07 
诡异的爪哇语法,求拯救:)public final AsyncTaskParams, Progress, Result execute(Params... params) {

诡异的爪哇语法,求拯救:)
    public final AsyncTask<Params, Progress, Result> execute(Params... params) {
        return executeOnExecutor(sDefaultExecutor, params);
    }

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


[解决办法]
这种参数写法会根据你传入参数的数量封装为一个相应长度的数组,其效果和数组参数相同,但要求必须作为方法的最后一个参数。
另外这样写将可能在方法重载时混淆,如get(String...strs)和get(String str)在get("")时就导致参数类型不明确的问题,必须要写成get(new String[]{""})来表示调用的是前面的方法。
[解决办法]
jdk1.5之后的新特性,可变参数。注意这个可变参数必须是在所有参数的最后一个才能定义。
[解决办法]
可以理解为:Params[] params

[解决办法]
 哥们喵的很搞笑诡谲的爪哇语法,求拯救:)
[解决办法]

引用:
引用:
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);就是调用起来不方便罢了

热点排行
Bad Request.