>>341
実際にやってみればわかる
ClassCastExceptionは起きない

public class Test<T> {
public static void main(String[] args) {
new Test<String>().foo(new Integer(1));
}
void foo(Object o) {
T t = (T) o;
}
}