[解決済み] シグネチャがreturn intであるメソッドでnullを返す?
2022-03-03 04:31:28
質問
public int pollDecrementHigherKey(int x) {
int savedKey, savedValue;
if (this.higherKey(x) == null) {
return null; // COMPILE-TIME ERROR
}
else if (this.get(this.higherKey(x)) > 1) {
savedKey = this.higherKey(x);
savedValue = this.get(this.higherKey(x)) - 1;
this.remove(savedKey);
this.put(savedKey, savedValue);
return savedKey;
}
else {
savedKey = this.higherKey(x);
this.remove(savedKey);
return savedKey;
}
}
このメソッドは、TreeMap の拡張であるクラス内にあります。なぜここでnullを返せないのか、何かアイデアはありますか?
解決方法は?
int
はプリミティブなので、null は取ることのできる値ではありません。メソッドの戻り値の型を変更して
java.lang.Integer
で、NULLを返せば、intを返す既存のコードはautoboxされます。
Nullは参照型にのみ割り当てられ、その参照は何も指していないことを意味します。プリミティブは参照型ではなく、値なので、NULLに設定されることはありません。
オブジェクトラッパーである java.lang.Integer を戻り値として使用することは、オブジェクトを渡すことを意味し、オブジェクトの参照は null である可能性があります。
関連
-
[解決済み] トークンのシンタックスエラー、これらのトークンを削除してください [closed].
-
[解決済み] mavenのコンパイルに失敗するのはなぜですか?
-
[解決済み] java.sql.SQLRecoverableException: IO エラーです。NL Exceptionが発生しました
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] メソッドの戻り値の型を汎用的にするにはどうすればよいですか?
-
[解決済み] メソッド呼び出し元へ複数の値を返す
-
[解決済み] なぜJava 8のOptionalは引数で使ってはいけないのか
-
[解決済み] Javaインターフェースでスタティックメソッドを定義できないのはなぜですか?
-
[解決済み] Javaで静的メソッドからgetClass()を呼び出す方法は?
-
[解決済み] 三項演算子でint型としてnullを返すことはできるがif文では不可
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Jdbctemplate の文字列に対するクエリです。EmptyResultDataAccessException: 不正な結果サイズ:期待値1、実際0
-
[解決済み] ボタンでTextFieldをクリアする(Java)
-
[解決済み] JavaでFileFilterを作るには?
-
[解決済み] XX:MaxDirectMemorySizeの既定値
-
[解決済み] ORA-01654: インデックスを拡張できません。
-
[解決済み] 午前0時からの時間を秒単位で取得する方法
-
[解決済み] Java の文字列インデックスが範囲外です。0 [閉店]
-
[解決済み] Java- <T extends Comparable<T>>の意味?
-
[解決済み] SubclipseとJavaHLのインストールで頭を悩ます
-
[解決済み] タイプの安全性。アンチェック・キャスト