キャスト式の結果は,そのオぺランドの式の結果が変数だとしても,変数ではなく値とする。値に対する数値集合(4.2.3)の選択には効果がない。キャストは,その値を倍精度数値集合の要素に変換する必要はない。実行時に,オぺランドの値をキャスト変換(5.5)によって,そのキャスト演算子で規定された型に変換する。Java言語では,すべてのキャストが許されるわけではない。あるキャストは,コンパイル時エラーを生じる。プリミティブ値は,参照型にキャストしてはいけない。あるキャストは,コンパイル時に実行時に常に正しいことを保証できる。あるクラス型の値を,その上位クラスの型に変換することは常に正しい。このようなキャストは,実行時に特別な動作を要求しないほうがよい。最後に,あるキャストは,常に正しいか常に正しくないかをコンパイル時に特定できない。そのようなキャストは,実行時に検査が必要とする。