Ich habe viele bean igenerische Methode, generischer Typ unknow
In jeder Klasse Dto umwandeln möchte, ich tue so etwas wie
private List<AddressDto> convertsToDto(List<Address> addresses) {
List<AddressDto> addressesDto = new ArrayList<>();
addresses.stream().map((address) -> convertToDto(address)).forEachOrdered((addressDto) -> {
addressesDto.add(addressDto);
});
return addressesDto;
}
convertToDto in jeder Klasse sein würde .... aber für convertsToDto werde ich in ta abstrakter Klasse setzen, wo es jede Klasse wird erweitert und ein generisches convertsToDto Verfahren mit generischem Typ setzt
public abstract class BaseService {
public List<T> convertsToDto(List<R> beans) {
List<T> listDto = new ArrayList<>();
beans.stream().map((bean) -> convertToDto(bean)).forEachOrdered((dto) -> {
listDto.add(dto);
});
return listDto;
}
}
ich immer bekommen T
und 0.123.ist unbekannt ... scheinen etwas zu verpassen.
Vielleicht fügen T und R als Typ Parameter an die Funktion? aka "public Liste conversToDto (Liste Bohnen)" –
Wietlol
Generika werden zur Kompilierzeit gelöscht. Zur Laufzeit ist es immer eine Objektliste. Sie sollten den Typ als Parameter übergeben. – PeterMmm
Warum müssen Generika verwendet werden? Warum verwenden Sie nicht einfach Ihre abstrakten Basisklassen? – fujy