use*_*300 5

除非您有不寻常的特定需求和用例,否则请始终使用第二个版本,而不是新版本.

编辑以回应@Ynwa

如果你特别需要一个你知道的String是唯一的,并且你将与==(这也是不寻常的)进行比较,那么使用第一种情况.例如,你有一些字符串队列,你需要一个特定的字符串来表示"全部完成".现在,可以想象,你可以使用的字符亚美尼亚空或一些怪异的字符串,但也许null是合法的,你的逻辑,如果你的软件最终在亚美尼亚被使用呢?干净的方式是

    public final static String TERMINATOR = new String("Terminator");  // actual text doesn't matter ... 
   // then, some loop taking from the Queue 
   while (keepGoing) {    
      String s = myQueue.take();    
      if (s == TERMINATOR) 
         keepGoing = false;    
     else   
       // normal processing of s 
   }
Run Code Online (Sandbox Code Playgroud)

如果客户端将"终结者"放在队列中,它将被处理.所以你不要阻止他们使用"终结者".但是如果客户端将ThatQueueClass.TERMINATOR放到队列中,它将被关闭.