Effective Java
文章平均质量分 77
阿蛮家
Andriod、Java技术分享
展开
-
Effective Java 第一条:考虑用静态工厂方法代替构造器
平时大家常用的String类源码就是典型的静态工厂方法:/** * Returns the string representation of the given double. */public static String valueOf(double value) { return Double.toString(value);}/** * Returns the原创 2016-04-04 22:15:43 · 483 阅读 · 0 评论 -
Effective Java 第五条:避免创建不必要的对象
反例:public class Person { private final Date birthDate; public Person(Date birthDate) { this.birthDate = birthDate; } public boolean isBabyBoomer(){ //判断婴儿是否在生育高峰期出生原创 2016-04-10 19:28:38 · 453 阅读 · 0 评论 -
Effective Java 第八条:覆盖equals请遵守通用约定
首先介绍一下Java中equals通用约定,分别是:自反性、对称性、一致性、传递性。检查自反性的通用方法:将对象扔到List里,然后看List.contains()是否返回true。首先来看一个违反对称性的例子:public class CaseInsesitiveString { private final String s; public Ca原创 2016-04-18 22:18:16 · 496 阅读 · 0 评论 -
Effective Java 第九条:覆盖equals时总要覆盖hashCode
先来看一个例子:PhoneNumer类public class PhoneNumber { private final int areaCode; private final int prefix; private final int lineNumber; public PhoneNumber(int areaCode, int prefix, int li原创 2016-04-20 13:35:44 · 552 阅读 · 0 评论 -
Effective Java 第十五条:使可变性最小化
复数类Complex:public final class Complex { private final double re; private final double im; public Complex(double im, double re) { this.im = im; this.re = re; } p原创 2016-04-20 14:51:28 · 617 阅读 · 0 评论 -
Effective Java 第二条:遇到多个构造器参数时要考虑用构建器
对于Java处理多参数时,先给大家上两个程序员平时最喜爱用的写法:第一:重叠构造器public class NutritionFacts { //重叠构造器 private final int servingSize; private final int servings; private final int calories; private fin原创 2016-04-10 00:28:15 · 652 阅读 · 0 评论