It's the price to pay for implementing generics via type erasure, not for getting functional features in a statically typed language. http://stackoverflow.com/a/24421331
[1] http://stackoverflow.com/questions/3773985/why-is-an-int-in-...
edit: clarity