我有一个从场景步骤加载数据的类我的第一个类是loaduserstepdfn
public class LoadUserStepDfn extends LoadDataStepDfn<User> {
public LoadUserStepDfn(ReadingUserUsingPoiji readingUserUsingPoiji) {
super.readingExcelUsingPoiji = readingUserUsingPoiji;
}
@Given("^Data is loaded from \"([^\"]*)\"$")
public void data_is_loaded_from (String filePath) throws Throwable {
super.data_is_loaded_from(filePath);
}
它调用名为loaddatastepdfn的类
public class LoadDataStepDfn<T> {
public List<T> data;
protected ReadingExcelUsingPoiji readingExcelUsingPoiji;
public void data_is_loaded_from (String filePath) throws Throwable {
data = readingExcelUsingPoiji.TransformExcelToClass(filePath);
}
这是我的类,它读取excel并将其存储到java类
public abstract class ReadingExcelUsingPoiji<T> {
public List<T> TransformExcelToClass(String filePath){
PoijiOptions options = PoijiOptions.PoijiOptionsBuilder.settings().addListDelimiter(";").build();
List<T> data = Poiji.fromExcel(new File(filePath), getMyType(), options);
return data;
}
public abstract Class<T> getMyType();
}
问题是我想使用一个类,我不想它是抽象的,而使用另一个类,即这个类
public class ReadingUserUsingPoiji extends ReadingExcelUsingPoiji<User> {
public Class<User> getMyType(){
return User.class;
}
1条答案
按热度按时间igetnqfo1#
我试图理解这里,所以你不想要@override,而是一个方法,它返回你要转换到的类的类型??
为什么不能这么简单。。。你有一个方法来决定你应该用什么类来转换到。。。
我不明白你为什么要用泛型…你的逻辑似乎并不关心它?尤其是如果你有一个阅读能力很强的POIJI课程…它真的不应该在意。
}