Общий метод для преобразования List<CustomObject> в Chunk<CustomObject>

Мне нужен метод Java для преобразования общего списка объектов в фрагмент.

например с List<CustomObject> по Chunk<CustomObject>

Изменения, которые я сделал ниже:

Изменение-1: (Работает)

public static Chunk<CustomObject> convertListToChunk(List<CustomObject> listObject) {
    
    
    Chunk<CustomObject> chunkObject =  new Chunk<>(listObject);
    return chunkObject;
}

Изменение-2: (Не работает)

public static Chunk<? extends Object> convertListToChunk(List<? extends Object> listObject) {
    
    
    Chunk<? extends Chunkable > chunkObject =  new Chunk<>(listObject);
    return chunkObject;
}

В этом случае мы также можем использовать BaseCustomObject например Chunk<? extends BaseCustomObject> где BaseCustomObject — суперкласс всех пользовательских объектов

Вызов метода конвертера

List<CustomObjectX> finalList = new ArrayList<>();
Chunk<CustomObjectX> chk = convertListToChunk(finalList)

здесь CustomObjectX — это пользовательский объект любого типа или расширяет BaseCustomObject.

Это вопрос, содержащий ответ? Если да, то вам следует опубликовать ответ как фактический ответ (и удалить его из вопроса). В противном случае мне непонятно, какой именно вопрос вы задаете, который остается нерешенным.

andrewJames 29.06.2024 22:38

@andrewJames это не ответ. первая строка – вопрос. и кто-то уже ответил на это.

TheSprinter 16.07.2024 21:07
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
54
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Chunk<?> — это сокращение от Chunk<? extends Object>, поэтому записывать его бессмысленно.

Вы ищете:

public static <W> Chunk<W> convertListToChunk(List<W> list) {
  return new Chunk<W>(list);
}

Что кажется бесполезным. Этот метод уже существует. Это... new Chunk<>(list);.

Дженерики служат для связывания вещей. Здесь вы хотите связать тип компонента списка с типом чанка. Объявите переменную (<W> объявляет ее), затем используйте ее как минимум в двух местах (поскольку общие переменные, используемые только один раз, либо бесполезны, либо являются хакерскими действиями; в любом случае это не очень хорошая идея).

Другие вопросы по теме