В Java завезли value-классы: прощай, боль от Integer vs int?

OpenJDK дропнул PR с реализацией value-классов — теперь Java-разработчики смогут не выбирать между объектами и примитивами.
OpenJDK не дремлет: на GitHub залетел пул-реквест #31120 с реализацией value-классов и value-объектов. Если ты когда-нибудь проклинал Integer за то, что он ест память как не в себя, или писал велосипед с int[] для оптимизации — эта новость для тебя.
Value-классы — это как если бы объекты внезапно похудели и стали вести себя как примитивы, но с бонусами вроде методов. Звучит как мечта перфекциониста: никакого идентификационного сравнения, только по значению, и память теперь не утекает сквозь пальцы. Разработчики JVM наконец-то вспомнили, что не все в мире — это String и List.
Пока это только PR, но за ним стоит целый JEP (Java Enhancement Proposal), который обещает изменить игру для высоконагруженных приложений. Конечно, до продакшна ещё пилить и пилить — но сам факт, что value-типы добрались до языка, который старше многих джуниоров, внушает уважение. Особенно если вспомнить, сколько лет мы ждали value objects из C#.
Комментарий студии METABYTE: Пока value-классы только в PR, а у нас уже готовы проекты, где каждый байт на счету. Хотите оптимизировать свой Java-монолит до реактивного микрофронтенда? Мы знаем, как это сделать, и без магии value-типов — но с ними было бы веселее.