とても細かいことであるが、良くこういうコードを見かける。
public class Test {
public static final String AM = "am";
public static final String PM = "pm";
public void talk(String type) {
if (type != null && type.equals(AM)) {
// 適当な処理
}
}
}
typeにnullが渡ってきた時にnull pointer exceptionになるのを防ぐ為だが、
public class Test {
public static final String AM = "am";
public static final String PM = "pm";
public void talk(String type) {
if (AM.equals(type)) {
// 適当な処理
}
}
}
こう書くことで "!= null" の処理が不要になる。非常に単純な話なのだが、どうもみんなstatic finalなStringをStringオブジェクトと認識できていない様子。1つ処理が増えると1つバグが増えます。手を抜きましょう。
戻る
|