[解決済み] Javaでオブジェクトがクラスに属しているかどうかをチェックする [重複]。
2023-06-26 14:46:23
質問
あるオブジェクトが与えられたクラスに属しているかどうかを簡単に確認する方法はありますか?例えば、私は
if(a.getClass() = (new MyClass()).getClass())
{
//do something
}
が、これでは毎回新しいオブジェクトをその場でインスタンス化し、それを破棄する必要があります。aがMyClassに属していることを確認する良い方法はないでしょうか?
どのように解決するのですか?
この
instanceof
キーワードは、他の回答で説明されているように、通常、あなたが望むものです。
覚えておいてほしいのは
instanceof
が返すのは
true
を返します。
あるオブジェクトがクラスの直接のインスタンスであるかどうかを確認したい場合、クラスを比較することができます。インスタンスのクラスオブジェクトを取得するためには
getClass()
. そして、特定のクラスに静的にアクセスするには
ClassName.class
.
だから例えば
if (a.getClass() == X.class) {
// do something
}
上記の例で、条件が真になるのは
a
のインスタンスである場合
X
のインスタンスですが、もし
a
のサブクラスのインスタンスであれば
X
.
比較すると
if (a instanceof X) {
// do something
}
の中で
instanceof
の例では、この条件が成立するのは
a
のインスタンスであれば
X
のインスタンスである場合、あるいは
a
のインスタンスである場合は
サブクラス
の
X
.
ほとんどの場合
instanceof
が正しい。
関連
-
Git Pull Failed マージされていないファイルがあるため、Pull できません。
-
シェルコマンドやスクリプトのJavaコール
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] Java内部クラスと静的ネストされたクラス
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
XMLファイル操作時のjava.util.NoSuchElementExceptionを解決する方法。
-
アクセス制限です。タイプ 'Application' は API ではない(必要なライブラリに制限がある)。
-
ブートレイヤーの初期化中にエラーが発生しました java.lang.module.FindException: モジュールが見つかりません
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException:5 エラー
-
Jsoup-Crawlingの動作
-
Junitのユニットテストはjava.lang.Testを報告します。
-
Javaがリソースリークに遭遇した:'input'が閉じない 解決方法
-
IDEAError:javaの依存性エラー。Annotation processing is not supported for module cycles...(アノテーション処理はモジュールサイクルではサポートされていません。
-
swagger2 モデルが表示されない モデルが見つからない @ApiModel アノテーションが表示されない問題
-
[解決済み] オブジェクトのクラスはどのように決定するのですか?