私の教科書では、次のように読むことができます。
T が任意の Java 型の場合、T.class
は一致するクラス オブジェクトです。例えば:
Class cl1 = Date.class; // if you import java.util.*;
Class cl2 = int.class;
Class cl3 = Double[].class;
後で私は読んでいます:
仮想マシンは、タイプごとに一意の Class オブジェクトを管理します。したがって、==
演算子を使用してクラス オブジェクトを比較できます。例えば:
if (e.getClass() == Employee.class)
ドキュメントでこの .class フィールドに関する何かを見つけるのを手伝ってくれませんか。そして別の質問 -e.getClass() == Employee.class
が と同じかどうか理解できませんe.class == Employee.class
。同じだとしたら、なぜ教科書の著者はgetClass
ここで左手の表現を使ったのか。