Incorrect Vesuvius. Last time I looked at Java it also didn't have the nice transparent boxing and unboxing of value types that C# has. Also, maybe Bass can clear up whether Java generics supports value types, e.g. List<int> as you can do with .NET and without using a boxed representation underneath and whether it even supports generics at the bytecode and run-time level (i.e. without type erasure).