캐스트해야 할 이유는 일반적인 방법이 있습니다자바 일반 메소드의 인수 클래스가
public <T> boolean saveRow(T row, Class<T> rowClass) {
Mapper<T> rowMapper = mappingManager.mapper(rowClass);
rowMapper.save(row);
return true;
}
을 그리고 나는 row.getClass()
에서 rowClass
을 추론 할 수 있기 때문에 두 번째 매개 변수를 도랑 싶습니다.
public <T> boolean saveRow(T row) {
Mapper<T> rowMapper = mappingManager.mapper((Class<T>) row.getClass());
rowMapper.save(row);
return true;
}
왜 캐스트가 필요하다 :
나는이 일을 할 수있는 유일한 방법은 row.getClass()
(Class<T>) row.getClass()
에 캐스팅입니다 것으로 나타났습니다?
감사합니다.
(BalusC의 대답) https://stackoverflow.com/questions/7276096/getclass-of-a-generic-method-parameter-in-a-java –