可变参数是指在方法入参中可以有0个或者多个的参数。使用可变参数的时候需要注意,可变参数的本质是个数组,同时一个参数列表只能有一个可变参数,而且可变参数只能放在参数列表的最后一位。
书中的代码其实都是在筛选哪一个是最小值,这两个代码的不同点在于,如果你调用了这个方法却没有传值其实是没有意义,但也没有必要报错,而是在写代码的时候就不应该调用,这样下面修改后的参数列表存在了一个必须传入的默认值,同时也不必throw exception。不仅代码更加美观,使用上也更加简单明了有意义。作者也是建议,如果一个方法的参数数量确实不确定,同时有95%的调用时0个到3个,但也有可能存在更多的时候,可以利用重载设计0个,1个,2个,3个以及多个参数的方法。
返回零长度的数组和集合而不是直接返回Null,这一条其实在我们系统中如果要返回集合时基本都是这么处理的。首先从我自己的一个角度出发,最早也因为返回null而产生过bug,从这一个角度来说减少了npe的抛错从而减少了异常;第二个,如果返回零长度的集合对于后续代码中的处理而言,可以直接处理一个集合而不是针对空对象的情况再写if来创建一个新的集合。