通用方法有界类型参数和类型擦除

yap*_*m01 4 java generics

一种通用方法如下:

static <E, K extends E> void someMethod(K k, E[] e) {}
Run Code Online (Sandbox Code Playgroud)

我推测擦除,擦除类型将是:

static void someMethod(Object k, Object[] e) {}
Run Code Online (Sandbox Code Playgroud)

只是好奇类型参数在类型擦除后如何知道约束?那个类型参数K被限制在E?

Boh*_*ian 8

你对删除是正确的.实际上,运行时不知道约束.只有编译器才有.

  • 否则它不会被删除. (3认同)