
javaでnullチェックをするメソッドがあったとします。
private boolean isNull(Object obj){
// objのnullチェックする
}
自分的には
private boolean isNull(Object obj){
// objのnullチェックする
return obj == null;
}
と書きたくなってしまうのですが、分かりにくいという指摘をある人からされました。
みなさんでしたら、どのように実装しますか?
もしそれによるメリットなんかあったら教えていただきたいです。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
いや,
return obj == null;
の方がよほど自然だし「間違えない」という意味でより良い. これが「わかりにくい」というのは, その「わかりにくい」という人間が悪い.
if (obj == null) {
return true;
} else {
return false;
}
でも確かに同じことだけど, このような書き方は読む人間に余計な労力を使わせてしまう.
むしろ本当にクラスの中で
private boolean isNull(Object obj)
と書いているとしたら, そっちの方がおかしい.
private boolean isNull()
static private boolean isNull(Object obj)
のどちらかでしょう.
ご回答ありがとうございます。
確かにメソッドにする意味ないかもですね。
private static boolean isNull(Object obj)
で定義してますね
No.1
- 回答日時:
private boolean isNull(Object obj){
if (obj == null) {
return true;
} else {
return false;
}
}
うそです。
質問にある書き方でも分かりにくいとかいうなら
private boolean isNull(Object obj){
return obj == null ? true : false;
}
比較するものが決まり切っていて、その結果をどこかに代入したりするならば、
いちいちifうんたら~なんて書きません。
ifで書くメリットは、そもそも比較がどういうものかを理解できていない人、
三項演算子を知らない人でも理解できる、年配の方にはウケがいいという、
低次元のことしか思いつきませんでした。
他の方法では、比較を行った結果、真ならA、偽ならBとするわけですから、
微々たる差でしょうが、速度的にも、質問にある書き方がベストだと思いますけど。
指摘を受けたならば、最適解を教えてもらい、なぜそれが最適なのかを
当人に問う方が断然早いと思います。
ご回答ありがとうございます。
指摘者からされたのは naktakさんの出した最初の例に近いです↓
private boolean isNull(Object obj){
if (obj == null) {
return true;
} else {
return false;
}
}
見やすいということなんですが‥好みだと思うんですけどね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# leetcode 155 minstack 1 2022/05/07 16:43
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
構造体のリスト削除
-
InvokeMemberメソッドとは何を...
-
C言語 リスト
-
Aの値からBの値を除するとは??
-
Enterキーを押されたら次の処理...
-
C言語での引数の省略方法
-
「Aに対するBの割合」と「Aに対...
-
信頼区間の1.96や1.65ってどこ...
-
【C言語】全角文字の配列を、全...
-
c言語でAからZまでを表示する...
-
エクセルで可視セルにのみ値貼...
-
C言語での数字の花形表示
-
「指定されたキャストは有効で...
-
fgetsなどのときのstdinのバッ...
-
2÷3などの余りについて
-
有効数字について 以前質問をし...
-
Unicode でのWin32アプリのプロ...
-
#define _CRT_SECURE_NO_WARNIN...
-
10個出力で改行したいのですが...
-
2重定義って??
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
構造体のリスト削除
-
コールバック関数はnullになら...
-
InvokeMemberメソッドとは何を...
-
C# ref引数のnull判定
-
双方向リストのバブルソートに...
-
C#でのEXCEL出力に関して
-
プログラミング(C#)のエラーに...
-
if文でゼロとNULLを除外するた...
-
PLSQLについて
-
バブルソートを使って文字列を...
-
【C++】ストリームオブジェクト...
-
SQLのIN関数に関して
-
文字列の結合方法(SQL)
-
ばばぬきプログラムについて
-
今度はdoubly linked listの問...
-
API 録音 MCI
-
大学で出されたc言語の課題に...
-
C言語
-
isset — 変数が宣言されている...
-
Aの値からBの値を除するとは??
おすすめ情報