Primarily just that Java (7's) type system is categorically incapable of expressing more sophisticated types. You can get some basic type testing using abstract classes to define dataset column types. Java 8's type system might have some extra features to allow it to do this without significant boilerplate. E.g. To keep runtime generics in Java you can instantiate subclass instances which don't have type erasure.
The references solidsnack9000 mentions seem to be promising. I'll have to look into it! It seems like it'd apply to a system of using actors and data modeling I'm working on currently... Intriguing at least.
The references solidsnack9000 mentions seem to be promising. I'll have to look into it! It seems like it'd apply to a system of using actors and data modeling I'm working on currently... Intriguing at least.