Effective Java - 慎用可变参数

2022-07-30  本文已影响0人  DZQANN

第53条 慎用可变参数

  1. 如果可变参数要求至少要求一个参数的话,可以使用这种样式

    public int min(int firstArg, int... remainingArgs) {
      int min = firstArg;
      for(int arg: remainingArgs) {
        if (arg < min) {
          min = arg;
        }
      }
      return min;
    }
    
  2. 可变参数可能会带来一些性能问题,如果对应能有一定要求可以使用方法重载

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

思考

  1. Guava的很多构造方法就采用了第2点的格式

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

  1. 如果担心每次返回空列表都会创建一个新的对象而带来开销,可以使用Collections里面的emptyListemptySetempetMap方法,只不过可能不会带来多大的性能提升
上一篇下一篇

猜你喜欢

热点阅读