私はこれが可能であることを知っていますが、何の用途がありますか? キャストされるオブジェクトと同じ型しかキャストできないので?
class Example<X>{
//statements
}
//then this is declared
Example<Integer> x = new Example<Integer>();
//This is allowed
(Example<Integer>) x;
//this is not allowed, so what's the use?
(Example<Long>) x;