ParameterizedType実装クラスのtoStringおかしくない?
staticネストクラスを含むParameterizedType(インターフェースなので実装があるはず)を取得すると、toString()がよくわからない文字列になる。
読み方がわかる方、教えてください。
package test; import java.lang.reflect.ParameterizedType; public class ParamTypeToStringTest { private static class C<T>{/**/} public static void main(final String[] args) { // Class System.out.println(C.class); // C<String> ParameterizedType t1 = (ParameterizedType) new C<String>() {/**/} .getClass().getGenericSuperclass(); System.out.println(t1); // C<C<?>> ParameterizedType t2 = (ParameterizedType) new C<C<?>>(){/**/} .getClass().getGenericSuperclass(); System.out.println(t2); } }
実行結果
class test.ParamTypeToStringTest$C test.ParamTypeToStringTest.test.ParamTypeToStringTest$C<java.lang.String> test.ParamTypeToStringTest.test.ParamTypeToStringTest$C<test.ParamTypeToStringTest.test.ParamTypeToStringTest$C<?>>
test.ParamTypeToStringTest.test. って。