Re[9]: Догонит ли net java?
От: vsb Казахстан  
Дата: 05.12.22 17:05
Оценка:
Здравствуйте, ·, Вы писали:

·>По-моему record создавали с другой целью — для pattern matching. Если что-то и сделают, то это будет какой-то другой элемент языка.


Там будет что-то вроде

var person1 = Person with {
    lastName = l;
    firstName = f;
    age = 18;
};

var person2 = person1 with {
    age = 16;
};


В целом это сделает их юзабельными. Конечно без мутабельности будет неудобно и придётся менять фреймворки, но тут разработчики уже упёрлись рогом.

·>Не скажу за весь lombok, но по-моему геттеры-сеттеры можно генерить используя вполне себе стандартный annotation processor.


Я сам не пробовал annotation processor-ы писать, поэтому могу ошибаться. Но в моём понимании annotation processor может генерировать либо полностью новый класс, который старый код видеть не будет. Либо какие-то там проверки делать и тд. То бишь максимум, который можно сделать оставаясь в рамках того, что разрешено — руками объявить interface Person { String name(); String name(String name); }, а annotation processor сгенерирует class PersonImpl implements Person { ... } и ты его экземпляр уже как-то получишь.

А как lombok делает — так нельзя делать.
Отредактировано 05.12.2022 17:06 vsb . Предыдущая версия . Еще …
Отредактировано 05.12.2022 17:05 vsb . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.