大丈夫。私は Java プログラムのいくつかのリフレクションに取り組んでいますが、単純に見えるがうまくいかない部分に行き詰まっています。
これが私がやろうとしていることです:
Thread t = new Thread();
System.out.println("Casting "+Thread.class.getName()+" to "+Runnable.class.getName());
Object newThread = Runnable.class.cast(t);
System.out.println("New class: "+newThread.getClass().getName());
期待される出力は になりますが
New class: java.lang.Runnable
、 が返されますNew class: java.lang.Thread
。
私は何を間違っていますか?(この場合、ブラケットを介した通常のキャストは使用できないことに注意してください)