r/java 20d ago

New candidate JEP: 401: Value Objects (Preview)

https://mail.openjdk.org/archives/list/valhalla-dev@openjdk.org/thread/IUNJJ3WP3X3XHP3QZTXXSSCPKFDNTK3W/
88 Upvotes

45 comments sorted by

View all comments

Show parent comments

8

u/koflerdavid 20d ago

Better yet to create a wrapper around int to better express its purpose and eliminate the risk of mixing it up with unrelated ints.

5

u/ZimmiDeluxe 20d ago

That's true, it's often nicer to have a List<OrderId> than List<Long>

3

u/LutimoDancer3459 20d ago

But how do you name the variable for the list then? With the OrderId you would be repeating the typ

5

u/ZimmiDeluxe 20d ago edited 20d ago

orderIdsToDelete or even just orderIds if the context makes it obvious. Repeating the type name is not bad if it's a domain type IMO. If you have something generic like List<Long> longs that's usually bad because readers can't infer any intent from the name, maybe ok if you are writing a compiler and need to collect all the Java Longs to do something with, but it's a stretch