タイプキャストを理解するために、 JLS 7を調べています。Section 5.5.1Java言語仕様:表記の意味| S |
それは言う:なしコンパイル時エラーが原因に を生じない場合はコンパイル時参照型S(ソース)とコンパイル時参照型 T(ターゲット)が与えられると、キャスティングの変換はSからTに存在以下のルールに従います。 Sがクラス型の場合:Tがクラス型である場合には、いずれか
- | S | <:| T |、または| T | <:| S |。それ以外の場合は、コンパイル時に エラーが発生します。
SとTはSection 4.10で2種類、そして
- Sであれば彼らはそれが明らかにした:> T SはT
- S> Tのスーパータイプであることを示しは、SがTの適切なスーパータイプであることを示し、 S:> Tおよび S!= Tを意味します。
の意味を見つけることができません。。それが何を意味するのか理解してください。 | S |?これは、プロパティの数や種類などを意味しますか? JLSで検索しようとしましたが、意味が見つかりませんでした。前もって感謝します。
だから私が見つかりました:http://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.6「私たちが書く| Tを|タイプTの消去のために " – mrak
ありがとうございました。 –