I don't think that in Java you can make your own value types (struct). Also in .Net there is no difference between int and Int32; they're just aliases, whereas in Java there is a difference between int and Integer (the first is a value type, the second a boxed representation of the same). Also, functions like toString() can only be called on the boxed representation.