No.2ベストアンサー
- 回答日時:
判別方法については、instanceofを使って一つ一つチェックするか、getClass().getName()で文字列判定をするか、が一般的だと思います。
あとはクラスごとにstaticな値をIDとしてつけてやってそれで判定するとか、泥臭い手段ならいろいろあるでしょう。ただそれよりも、「オブジェクトがAのインスタンスであると確認する必要がある」という状況が気になります。継承関係がちゃんと「is a」の関係になっているかどうか、つまり設計に無理がないかをまず確認してもいいかもしれませんね。
回答ありがとうございます。
getClass().getName()で判定することにしました。
状況については説明が難しいですが、かなり特殊な処理なので。。。
(勿論設計に問題がない訳ではないですがw)
No.1
- 回答日時:
B でなければ C でないのは明らかなので, 実は「C でない」という判定は不要ですね.
それ以外には思いつかない.
この回答への補足
回答ありがとうございます。
こちらで調べてみたところ下記のようにClassのgetNameを使用する事で判別ができることがわかりました。
後、とりあえずキャストしてみてtrycatchとかでもできそうです。
綺麗じゃないですが。。。
Class tmpclass = hoge.getClass();
if ((new A().getClass().getName().equals(tmpclass.getName()))) {
break;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「A,B組の女子の氏名のよみ。 1 2023/05/16 15:28
- 学校 うちの学校では1.2.3と3つのクラスがあり数学の授業の際はAクラスとBクラスに分かれるのですがプリ 1 2022/06/23 19:19
- 野球 プロ野球の話 1 2022/08/19 19:07
- 野球 プロ野球の話 1 2022/05/31 20:46
- 野球 プロ野球の話 3 2022/09/02 19:42
- その他(スポーツ) 北海道コンサドーレ札幌の話 1 2022/10/25 21:45
- 野球 プロ野球の話 1 2023/01/28 00:52
- 野球 プロ野球の話 2 2022/04/11 21:42
- 野球 プロ野球の話 1 2022/06/25 22:50
- 野球 プロ野球の話 1 2022/05/24 13:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(vba)他のアプリケーションの右...
-
「ラッパークラス」の存在意義...
-
ASP.NETでの共通コードの書き方...
-
【継承】親のメソッドの実行
-
抽象クラスをJUNITでテストする...
-
【設計思想の質問】staticメソ...
-
interface,extend,implementの...
-
vb.net 自作プロパティの削除に...
-
c++でのヘッダーファイルの循環...
-
C++で参照カウンタを実装したい...
-
「継承されたメソッドの可視性...
-
Javaでは多重継承ができない、...
-
VB DLLプロジェクトについて
-
C# 「データが失なわれる可能性...
-
メソッドの引数にクラス名を渡す
-
c# この高速化の方法あり?
-
「IOException は対応する try ...
-
JTextFieldの入力制限
-
Java StringBuilderクラスについて
-
C#からDLLを呼びたいのですが・...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
interface,extend,implementの...
-
抽象クラスをJUNITでテストする...
-
「ラッパークラス」の存在意義...
-
(vba)他のアプリケーションの右...
-
ASP.NETでの共通コードの書き方...
-
VB DLLプロジェクトについて
-
C#からDLLを呼びたいのですが・...
-
c++でのヘッダーファイルの循環...
-
委譲って何ですか?
-
「継承されたメソッドの可視性...
-
【C#】クラスのコンストラクタ...
-
Javaでのジェネリクス型パラメ...
-
C# 「データが失なわれる可能性...
-
Excel vbaのプログラムでガンマ...
-
ファイルパスが取得出来ない(P...
-
オーバーライドとラッパーの違い
-
compareToにおける「自然順序付...
-
メソッドの引数にクラス名を渡す
-
vb.net 自作プロパティの削除に...
-
VBがオブジェクト指向言語でな...
おすすめ情報