Java - 'this' キーワードを使用する場合 [重複].
2023-08-14 20:40:47
質問
を使用する際のベストプラクティスは何ですか?
this
キーワードを使用する最良の方法は何ですか?例えば、次のようなクラスがあります。
class Foo {
Bar bar;
public Foo(Bar bar) {
this.bar = bar;
}
}
それはそれでいいのですが、Javaは賢いので、コンストラクタの中のステートメントを
bar = bar;
では、なぜ
this
キーワードを使う必要があるのでしょうか?実際、私は純粋に読みやすさのためにこのキーワードを使うことが多いのですが、一般的にはどうなのでしょうか?ショップの至る所でこのキーワードを使用すると、私のコードが少し乱雑に見えてしまいます。
boolean baz;
int someIndex = 5;
this.baz = this.bar.getSomeNumber() == this.someBarArray[this.someIndex].getSomeNumber();
明らかにお粗末なコードですが、私の例を説明するものです。このような場合、個人的な好みによるものなのでしょうか?
どのように解決するのですか?
<ブロッククオートという記述がありますが、Javaは賢いので、コンストラクタの中の記述を
bar = bar;
FALSE! コンパイルはできるが、あなたが考えているようなことはできない!
いつ使うかについては、多くは個人の好みによります。私は
this
を使うのが好きです。それが不要な場合でも、自分のパブリックメソッドで使います。
参考までに、このテーマについてはOracleのJavaチュートリアルをチェックしてみてください;-)
http://docs.oracle.com/javase/tutorial/java/javaOO/thiskey.html
関連
-
Git Pull Failed マージされていないファイルがあるため、Pull できません。
-
JDK8 の Optional.of と Optional.ofNullable メソッドの違いと使い方を説明する。
-
春ブート複数のデータソースの管理(atomikos)同じサーバーホスト上の複数のプロジェクトを開始する複数のJava - jarのエラーソリューション
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] コールバック内で正しい `this` にアクセスする方法
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
実行中にEclipseがポップアップする A Java Exception has occurred
-
XMLファイル操作時のjava.util.NoSuchElementExceptionを解決する方法。
-
java.sql.SQLException: executeQuery()でデータ操作文を発行できません。
-
Java の switch case 文で必要な定数式の問題の解決法
-
Solve モジュールのビルドに失敗しました。Error: ENOENT: no such file or directory エラー
-
Javaがテキストファイルを読み込む
-
XXX型を囲むインスタンスがJavaでアクセスできない
-
Junitのユニットテストエラー
-
IDEAError:javaの依存性エラー。Annotation processing is not supported for module cycles...(アノテーション処理はモジュールサイクルではサポートされていません。
-
swagger2 モデルが表示されない モデルが見つからない @ApiModel アノテーションが表示されない問題