Если два класса Livre и Livre0 не разделяет общие супер -тип; вы не можете (легко).
Что вы можете сделать:
List<Livre0> listeV0 = new ArrayList<>();
for (Livre livre : service.getListeLivre()) {
Livre0 copy = new LivreV0(...);
listeV0.add(copy);
}
Другими словами: вы должны создать новые объекты; и как, это зависит от ваших существующих классов. A разумный подход может заключаться в том, чтобы иметь конструктор в пределах LivreV0
, который принимает объект Livre
; и извлекает все соответствующие свойства оттуда.
Худший случай, возможно, вы захотите изучить отражение. Это позволит вам в основном запросить все поля в Livre-Object; и использовать эту информацию для перевода значений в одинаково названные поля в Livre0-Object. Работы, но громоздкие и подверженные ошибкам.
И: возможно, также стоит отступать здесь. В одиночку идея иметь два разных классов, у которых есть одинаковые поля ... звучит как дизайн проблема. Таким образом, реальным ответом может быть переосмыслить вашу объектную модель. Вероятно, у вас должен быть класс , который содержит все те свойства, которые должны быть общий для Livre и Livre0. Значение: вместо дублируя всю эту информацию, вы нажимаете эти данные в Common
объектов; а затем ваши объекты Livre и Livre0 «указывают» на объект Common
.
Вы не можете, если оба класса не имеют общего супертипа. –
@ Константин Йоков. Даже если у них одинаковые поля? –
Java не поддерживает утиную типизацию формы или формы. –