【Java】2進数8進数10進数で回文 #StringBuffer
mokabuu
mokabuu.com
public class PreventFromNullPo {
public static void main(String[] args) {
for(int i = 0; i < 5; i++){
if(getSongname(i).equals("白い恋人達")){
System.out.println("クリスマスは終わったよ");
}else{
System.out.println("テンション打ち上げウィィィィィ");
}
}
}
public static String getSongname(int index){
switch(index){
case 0: return "白い恋人達";
case 1: return "白い恋人達";
case 2: return null;
case 3: return "シュラバ★ラ★バンバ";
default: return null;
}
}
}
これはNullPoが出るコードです。
僕も先日こう言う書き方をして怒られて来ました。
この書き方実は童貞臭い書き方なのです。
百戦錬磨のプロはひと味違いました。
けどその前に悪い例をもう1つ。
public class PreventFromNullPo {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
if (getSongname(i) != null) {
if (getSongname(i).equals("白い恋人達")) {
System.out.println("クリスマスは終わったよ");
} else {
System.out.println("テンション打ち上げウィィィィィ");
}
}
}
}
public static String getSongname(int index) {
switch (index) {
case 0:
return "白い恋人達";
case 1:
return "白い恋人達";
case 2:
return null;
case 3:
return "シュラバ★ラ★バンバ";
default:
return null;
}
}
}
もっと童貞くさくなりました!笑
if(hogehoge.mogamoga() != null)です!
これは非常にダサい!
っていうか君は毎回これをやるのか?!
NullPoのリスクがある箇所で毎回こんなバリデーションをするのか?
これは非常にスマートではありません。
ホンモノの漢はこう書くそうです。
[adsense]
public class PreventFromNullPo {
public static void main(String[] args) {
for(int i = 0; i < 5; i++){
if(("白い恋人達").equals(getSongname(i))){
System.out.println("クリスマスは終わったよ");
}else{
System.out.println("テンション打ち上げウィィィィィ");
}
}
}
public static String getSongname(int index){
switch(index){
case 0: return "白い恋人達";
case 1: return "白い恋人達";
case 2: return null;
case 3: return "シュラバ★ラ★バンバ";
default: return null;
}
}
}
確かにこれならNullPoは出ません。
実行結果が変わってしまうので要注意ですが
NullPoを出さないテクニックの1つとして
知っておいて損は無いのではないかと思います。