this post was submitted on 14 Jun 2023
15 points (100.0% liked)

Java

1388 readers
1 users here now

For discussing Java, the JVM, languages that run on the JVM, and other related technologies.

founded 1 year ago
MODERATORS
 

A great read for folks wondering why Java uses type erasure instead of "reified" generics. For the unaware, that means that a List<Integer> is a List<Object> at runtime. I had always wondered about it and why they didn't take the alternative route. For context, C# does have reified types so the actual type parameter is available at runtime.

I personally love reading in depth discussions about counter intuitive engineering decisions like this.

you are viewing a single comment's thread
view the rest of the comments
[–] kaba0 1 points 1 year ago

Note that Java’s generics are on the library-side, while Scala’s is defined at use site.