Потоковая карта классов с помощью Lombok SuperBuilderJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Потоковая карта классов с помощью Lombok SuperBuilder

Сообщение Anonymous »

Класс MyEntity расширяет базовый класс. Оба имеют аннотацию @SuperBuilder ломбок (версия 1.18.34).
@Getter
@Setter
@SuperBuilder
@ToString(onlyExplicitlyIncluded = true)
@EqualsAndHashCode
public abstract class BaseEntity {

public abstract SomeType getSomeType();
}

@Value
@SuperBuilder
@ToString(onlyExplicitlyIncluded = true)
@EqualsAndHashCode(callSuper = true)
public class MyEntity extends BaseEntity {

@Override
public SomeType getSomeType() {
return SomeType.SOMETHING;
}
}

Если я попытаюсь сопоставить что-то с MyEntity вот так
someItems.stream()
.map(item -> MyEntity.builder().build())
.toList();

Тип возвращаемого значения — List. Почему компилятор не может определить тип здесь? Если я посмотрю на метод build(), я увижу общий общедоступный абстрактный C build().

В качестве обходного пути я могу перенести сборку в отдельный метод. .
private MyEntity getBuild(SomeItem item) {
return MyEntity.builder().build();
}

List myEntities = someItems.stream() // works
.map(item -> getBuild(item))
.toList();


Подробнее здесь: https://stackoverflow.com/questions/791 ... perbuilder
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Потоковая карта классов с помощью Lombok SuperBuilder
    Anonymous » » в форуме JAVA
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Потоковая карта классов с помощью Lombok SuperBuilder
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • При использовании Lombok 1.18.32 с Java 17 выдается ошибка: типы Lombok.Setter и Lombok.Setter недоступны.
    Anonymous » » в форуме JAVA
    0 Ответы
    114 Просмотры
    Последнее сообщение Anonymous
  • Наследование Lombok @SuperBuilder с дженериками всегда показывает «захват?»
    Anonymous » » в форуме JAVA
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous
  • Lombok @SuperBuilder меняет одно из названий моих полей?
    Anonymous » » в форуме JAVA
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»