などでプリミティブのクラスを取得できますchar.class。int.class
そうは言っても、次の 2 つのことのいずれかが真実であると言えます。
chararrayが の場合char[]、その中のすべての要素はタイプchar(never Character) になります。Aはプリミティブchar[]のみを保持できます。char
- がオブジェクト ( 、など) を保持する可能性のある参照型の配列である場合、プリミティブ型は参照型の配列に格納できないため、要素が になること
chararrayはありません。CharacterObject[]Character[]T[]char
後者の場合、配列の型付け方法に応じて、チェックを行う必要がある場合とない場合があります。それが の場合、その中には sCharacter[]のみCharacterが存在できます (まあ、または のサブクラスであり、最終クラスであるCharacterため何もありません)。Character同様に、 の場合は sIntegerのみが含まれますInteger。の場合Objectは、任意の参照型を保持でき、リフレクション チェックを行うか、別の設計を考え出す必要があります。
ボクシングとオートボクシングは、参照型とプリミティブ型の違いを隠すことができますが、それらは実際には異なり、どちらもサブタイプではありません (または、オートボクシング/アンボックス化を除いて割り当て可能です)。