不要为Boolean,Integer或String创建新的实例:

  避免创建新的Boolean,Integer,String等实例。使用Boolean.valueOf(true)代替new Boolean(true)。两种写法效果差不多但却可以改善性能。

  在代码块周围使用大括号:

  永远不要忘记在块类型语句(如:if,for,while)周围使用大括号。这可以减少代码歧义并且避免在你修改代码块的时候产生新的bug。

  不推荐

    if(age > 18) 
      return true; 
    else
      return false;

  推荐

    if(age > 18){ 
      return true; 
    }else{ 
      return false; 
    }

  把方法的参数声明为final类型:

  总是在所有兼容的地方把把方法的参数声明为final。这样做的话,当你无意中修改了参数的值,编译时会得到警告,并且编译生成的字节码也会得到优化。

  推荐

private boolean isEligible(final int age){ ... }

  用大写命名public static final类型成员变量:

  总是使用大写命名用public static final类型变量。这样可以让你很容易区分常量和本地变量。

  不推荐

public static final String testAccountNo = "12345678";

  推荐

public static final String TEST_ACCOUNT_NO = "12345678";

  把多个if语句合并成一个:

  下面的代码

    if(age > 18){ 
      if( voted == false){ 
        // eligible to vote. 
      } 
    }

  可以使用一个if语句改写为:

    if(age > 18 && !voted){ 
      // eligible to vote 
    }

  别忘了给switch添加default语句:

  总是给switch添加一个default语句。

  避免重复使用同样的字符串,创建一个常量吧:

  如果你需要在多个地方使用同一个字符串,那创建一个字符串常量来使用吧。

  下面的代码:

    private void someMethod(){ 
      logger.log("My Application" + e); 
      .... 
      .... 
      logger.log("My Application" + f); 
    }

  可以创建一个常量代替字符串"My Application":

    public static final String MY_APP = "My Application"; 
    private void someMethod(){ 
      logger.log(MY_APP + e); 
      .... 
      .... 
      logger.log(MY_APP + f); 
    }