Ich arbeite derzeit an einem großen Projekt, das drei verschiedene Arten von CRUD enthält. Meine ICrud-Schnittstelle enthält die <t>
, um den gewünschten Datentyp bei der Implementierung einzufügen.Schnittstelle Konflikte Java
Mein Problem ist, dass wenn ich es in meiner dritten Klasse implementieren, möchte ich eine der Methoden (readAll) verwenden einen anderen Datentyp als die 4 anderen Methoden (CRUD). Ist das in irgendeiner Weise möglich?
Im Moment habe ich die readAll-Methode den passenden Datentyp zurückgeben, aber Null zurückgeben, weil es nicht verwendet wird, und stattdessen eine andere Methode readall2() erstellt, die den richtigen Datentyp zurückgibt, aber nicht Teil meiner Schnittstelle ist.
Die ICrud Schnittstelle:
public interface ICrud<T> {
List<T> readAll();
List<T> read(int cvr);
void create(T t);
void delete(int cvr);
void update(T t, int id);
}
, wie ich es umsetzen:
@Service
public class AdminRepository implements Ilogin<Admin>, ICrud<Driver>,
IAdmin<Company>
, wie ich die ReadAll nutzen möchten:
für allepublic List<Company> readAll()
(nicht Treiber, sondern Treiber andere Methoden in der Schnittstelle)
Und ich möchte hinzufügen; Zuerst hatte ich das ReadAll in iAdmin, weil es Unternehmen braucht, aber ich habe diese Readall-Methode in 6 anderen Klassen, die auch ICrud implementiert.
Danke für jede Hilfe. :)
Bitte geben Sie ein Beispiel Ihrer Schnittstellendefinitionen an, um Ihre Beschreibung besser zu verdeutlichen. –
In der Tat ist es äußerst unklar, was das Problem ohne ein konkretes Beispiel ist. –