2015-07-20 13 views
7

Mam ogólny interfejs i chciałbym wdrożyć ten interfejs w sposób ogólny:wdrożenia ogólnego interfejsu

public interface BaseBean<T> { 

    public T create(T t); 
    public T read(Long id); 
    public T update(T t); 
    public void delete(T t); 

} 

Z jakiegoś powodu, nie mogę sprawić, że realizacja generycznych, jak również. Eclipse realizuje wszystkie metody interfejsu w non-generic sposób:

public class BaseBeanImpl<T> implements NewBaseBean { 

    @Override 
    public Object create(Object t) { 
     return null; 
    } 

    @Override 
    public Object read(Long id) { 
     return null; 
    } 

    @Override 
    public Object update(Object t) { 
     return null; 
    } 

    @Override 
    public void delete(Object t) { 
    } 

    @Override 
    public Object find(Long id) { 
     return null; 
    } 
} 

Kiedy zmienić:

public Object create(Object t) 

do

public T create(T t) 

pojawia się błąd kompilacji. Przegapiłem coś?

Odpowiedz

9

Zmień

public class BaseBeanImpl<T> implements NewBaseBean 

do

public class BaseBeanImpl<T> implements NewBaseBean<T> 

Podczas korzystania z surowego typ NewBaseBean, masz Object zamiast T metod interfejsu użytkownika.

+0

Zadziałało, dziękuję :) – jarosik

+0

@jarosik: należy przyjąć odpowiedź. – theV0ID

Powiązane problemy