第8章 第53条 第54条

第53条:慎用可变参数

1.当可变参数的数量必须>0 时,可以通过声明方法有两个参数,一个是正常参数,一个是同种类型的可变参数。具体如下:

static int min(int firstArg, int... remainingArgs) {
    int min = firstArg;
    for(int arg : remainingArgs)
        if(arg < min)
            min = arg;
    return min;
}

2.在重视性能的情况下,因为可变参数方法的每次调用都会导致进行一次数组分配和初始化。如果大部分调用会有3个或者更少的参数,就声明该方法的多个重载,当参数数目超过3个时,使用可变参数方法。具体如下:

public void foo() {}
public void foo() {int a1}
public void foo() {int a1, int a2}
public void foo() {int a1, int a2, int a3}
public void foo() {int a1, int a2, int a3, int... rest}

第54条: 返回零长度的数组或集合而不是null

1.通过返回 空数组或者空集合而不是null,可以避免大量对于null的判断处理逻辑,也减少了由于疏忽导致npe异常的可能
2.担心分配0长度集合对性能造成影响,可以返回 类似Collections.emptyList()的不可变对象。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容