欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

《effective java》之六:方法 博客分类: Java effective 

程序员文章站 2024-02-15 08:51:16
...

第39条:必要时进行保护性拷贝:

 

第40条:谨慎设计方法签名:

避免过长的参数列表,目标是四个参数或者更少,如果多于四个了就该考虑重构这个方法了。

三种方法可以缩短过长的参数列表:

①,把方法分解成多个方法,每个方法只需要参数的一个子集,不推荐。

②,创建辅助类helper class,用来保存参数的分组。这些辅助类一般为静态成员类。

③,从对象构建到方法调用都采用Builder模式,如果方法带有多个参数,尤其是其中某些事可选的时候,最好定义一个对象来表示所有参数,并允许客户端在这个对象上多次setter调用,玩了后执行execute,它对参数进行有效性检测并执行实际的逻辑。这种方式特别有用。

对语言boolean参数,优先使用两个元素的枚举类型。

 

第41条:慎用重载:

方法被重载overload后,要调用哪个overload方法是在编译时候决定的,而不是运行时,于是会产生各种bug

方法覆盖override是在运行时候决定调用父类还是子类的方法。这个跟overload完全不一样。

public class SetList {
	public static void main(String[] args) {
		Set<Integer> set = new TreeSet<Integer>();
		List<Integer> list = new ArrayList<Integer>();

		for (int i = -3; i < 3; i++) {
			set.add(i);
			list.add(i);
		}

		for (int i = 0; i < 3; i++) {
			set.remove(i);
			list.remove(i);
		}

		System.out.println(set + " " + list);
	}
}

 

第42条:慎用可变参数:

 

第43条:返回零长度数组或者集合,而不是null:

 

第44条:为所有导出API元素编写文档注释:

 

本人博客已搬家,新地址为:http://yidao620c.github.io/

 

相关标签: effective