恐ろしい質問で申し訳ありません。他にどのように説明すればよいかわかりません。
私は当然PHPerであり、現在Javaを調べていて、このセクションに出くわしました。最初の行はコンテキストのためだけにあり、私が興味を持っているのは QuotaKey で始まる行です。
Key key = Keys.getKeyInstance( Keys.getKeyClass( cond.getKey( ) ) );
QuotaKey quotaKey = ( QuotaKey ) key;
恐ろしい質問で申し訳ありません。他にどのように説明すればよいかわかりません。
私は当然PHPerであり、現在Javaを調べていて、このセクションに出くわしました。最初の行はコンテキストのためだけにあり、私が興味を持っているのは QuotaKey で始まる行です。
Key key = Keys.getKeyInstance( Keys.getKeyClass( cond.getKey( ) ) );
QuotaKey quotaKey = ( QuotaKey ) key;
これはキャストであり、 aKey
を に変換しQuotaKey
ます。
http://www.javabeginner.com/learn-java/java-object-typecasting
QuotaKey
が のサブクラスであると仮定すると、 型の変数を 型のKey
変数に変換するキャスト演算子を見ています。一時変数を使用せずに、同じフラグメントをより簡潔に書くことができます。Key
QuotaKey
QuotaKey quotaKey = (QuotaKey)Keys.getKeyInstance(Keys.getKeyClass(cond.getKey()));
この操作はkey
、型をサブクラスに強制する前に、型が正しいことを確認し、ClassCastException
失敗の原因となります。コンパイル時に有効性を確実にチェックできないため、プログラム内のそのようなキャストの数を最小限に抑えることをお勧めします。
キャストです。キーのタイプを QuotaKey に強制します。
あなたが見ているのは型キャスト(この特定のケースではダウンキャスト)と呼ばれ、私が仮定するQuotaKey
型の参照で型の変数を使用することです のスーパークラスまたはスーパーインターフェースです。Key
QuotaKey