Jus*_*tin 1 java generics interface
我有这样的界面:
public interface BeanCreator<T> {
public T createBean();
public Class<T> getClazz();
}
Run Code Online (Sandbox Code Playgroud)
我试着定制它:
public class CustomizedBeanCreator<T> implements BeanCreator<T>{
@Override
public T createBean() {
CustomizedBean bean = new CustomizedBean();
bean.setId(-2323);
bean.setName("this bean is created by a customized creator");
@SuppressWarnings("unchecked")
T t = (T)bean;
return t;
}
@SuppressWarnings("unchecked")
@Override
public Class<T> getClazz() {
return (Class<T>) CustomizedBean.class;
}
}
Run Code Online (Sandbox Code Playgroud)
由于这两个@SuppressWarnings,我感到不舒服.
我该怎么做才能解决这个问题?
谢谢!
更改签名(和实现)
public class CustomizedBeanCreator<T> implements BeanCreator<T>{
Run Code Online (Sandbox Code Playgroud)
喜欢的东西
public static class CustomizedBeanCreator implements BeanCreator<CustomizedBean> {
@Override
public CustomizedBean createBean() {
CustomizedBean bean = new CustomizedBean();
bean.setId(-2323);
bean.setName("this bean is created by a customized creator");
return bean;
}
@Override
public Class<CustomizedBean> getClazz() {
return CustomizedBean.class;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36 次 |
| 最近记录: |