Здравствуйте, я делаю некоторые тесты с помощью отражения ... до сих пор я получил это:Generic против класса <?>
public class MyConveter implements Converter {
private Class<?> myClass;
public MyConveter(Class<?> myClass) {
this.myClass = myClass;
}
@Override
public boolean canConvert(Class clazz) {
return clazz.equals(myClass);
}
@Override
public void marshal(Object arg0, HierarchicalStreamWriter arg1, MarshallingContext arg2) {
// TODO Auto-generated method stub
}
@Override
public Object unmarshal(HierarchicalStreamReader arg0, UnmarshallingContext arg1) {
try {
Object obj = myClass.newInstance();
Field daoField = myClass.getDeclaredField("id");
daoField.setAccessible(true);
daoField.set(obj, Integer.valueOf(5));
Field daoField2 = myClass.getDeclaredField("value");
daoField2.setAccessible(true);
daoField2.set(obj, "proj name");
return obj;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
Но мне не нравится результат есть способ изменить это на:
public class MyConveter<T> implements Converter;
таким образом удалив конструктор?
В каком пакете находится класс конвертера, который вы пытаетесь реализовать? Это то, что вы написали или из библиотеки? – ARRG
импорт com.thoughtworks.xstream.converters.Converter; – user952887