Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。ABCが同じ型かどうかを比較するということです。instanceOfやisAssignableFromというメソッドを使ってみたのですがうまくいきません。ABC」の比較でしたら、そもそも、ArrayListクラスとABCクラスは違うクラスなので比較するまでもありませんが、次で検証はできます。それ以外}ArrayListの中に"格納された"オブジェクトの比較をして、ABCクラスがあるかどうかを調べたい、という質問でしたら、次のようにして比較が可能です。個の銅バッジ質問された方はArrayList<ABC>と書いていたのですが、<ABC>がタグと解釈されて見えなくなっていたみたいですね。TypeのArrayListではないみたいです。|1あるオブジェクトの型Tと、ジェネリクスに指定した型変数の型(例えばList<T>のT)が同じ型かどうかを判定したいという質問意図であると考えて回答します。コンパイル時たとえばArrayList<String>のように型変数を指定すると、ArrayListが取り扱うオブジェクトの型がStringであることは保証されます。コード上でArrayList<ABC>と書けば、そのArrayListがABC型にバインドされていることは自明なので、単純に任意のオブジェクトがABC型であるかどうかの判定を行えばよいのではないでしょうか。型かどうかを判定すればよい}リストが要素を持っているのであれば、以下のような記述はできますが、直接的に型変数が何かを知る方法はありません。System.out.println("true");}実行時Javaのジェネリクスは型消去によって実装されています。それがList<String>から、直接Stringという型を知る術がない理由です。ソースコード上ではArrayList<ABC>とArrayList<DEF>は異なるものとして扱われますが、コンパイル時にその情報は失われて(型情報が消去されるので型消去)、両者はただのArrayListとみなされます。実行時に型変数の型を知ることはできません。{}上記のhogeやfugaの型情報は実行時にも保持されます。リフレクションを使ってParameterizedTypeを取得すればいいのですが、質問者の意図からは外れていると思いますので、そういうものもありますとだけ。|-2求めている処理結果が文章からは読み取れませんが、ArrayListという型とABCという型は違う型なので、instanceOfなどの処理で同じでないことを正しく評価できているように思われます。(ABCという型がListクラスを実装していたり、ArrayListを継承している場合は少し話が変わってきますが。System.out.println("違う型です。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。