Мне нужен метод 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 это не ответ. первая строка – вопрос. и кто-то уже ответил на это.




Chunk<?> — это сокращение от Chunk<? extends Object>, поэтому записывать его бессмысленно.
Вы ищете:
public static <W> Chunk<W> convertListToChunk(List<W> list) {
return new Chunk<W>(list);
}
Что кажется бесполезным. Этот метод уже существует. Это... new Chunk<>(list);.
Дженерики служат для связывания вещей. Здесь вы хотите связать тип компонента списка с типом чанка. Объявите переменную (<W> объявляет ее), затем используйте ее как минимум в двух местах (поскольку общие переменные, используемые только один раз, либо бесполезны, либо являются хакерскими действиями; в любом случае это не очень хорошая идея).
Это вопрос, содержащий ответ? Если да, то вам следует опубликовать ответ как фактический ответ (и удалить его из вопроса). В противном случае мне непонятно, какой именно вопрос вы задаете, который остается нерешенным.