Since only reference types can be used as general type arguments in Java, and all pointers are the same size, you can use the same byte code.
, Java / . . T ( Object, ). ,
class Complex<N extends Number> {
N real;
N imag;
}
class Complex {
Number real;
Number imag;
}
.
, . ,
new N();
, N, , , . ,
(N) n
, Java . , . . ( ), . ,
boolean right(Complex<Integer> c) {
return c.real > 0;
}
boolean right(Complex c) {
return ((Integer) c.real) > 0;
}
, Java , .NET. , ...