teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2020/04/15 04:35

投稿

hoshi-takanori
hoshi-takanori

スコア7903

answer CHANGED
@@ -1,5 +1,7 @@
1
- Class という名前の型 (クラス) があります。Class<T> とすることで T またはそのサブクラスに制限することもできます。制限しない場合は Class<?> とします。
1
+ クラスそのものを表す型として、Class という名前のクラスがあります。Class<T> とすることで T またはそのサブクラスに制限することもできます。制限しない場合は Class<?> とします。
2
2
  参考: [java.lang.Class (Java Platform SE 8)](https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html)
3
3
 
4
+ Class<?> cls = obj.getClass(); とか if (cls.isInstance(obj)) { ... } とか書けますが、残念ながら switch 文では使えないようです。
5
+
4
- 、何をやりたいかにもよりますが、普通はジェネリクス (総称型) を使った方がいいと思います。
6
+ た、何をやりたいかにもよりますが、普通はジェネリクス (総称型) を使った方がいいと思います。
5
7
  参考: [JavaのGenerics(ジェネリクス・総称型)は神機能! - Qiita](https://qiita.com/taumax/items/2af451a2c331e8ded892)