List可以存储接口类型的数据吗?
今天看到了一块代码List存放的数据是一个接口类型的!我知道List可以存放Object类型的不知道可以存放Interface类型的!希望大佬给我这个小白上一课这样可以吗?
代码如下:
List<DataProcessor> DataProcessor 是一个接口
代码中没有对这个list操作就在方法中直接遍历操作了
接口的代码在下面
//这里List存放的数据类型是一个接口private List<DataProcessor> processors ;
private Logger logger = Logger.getLogger(DataProcessHandler.class);
@Transactional
public ADIContext handle(ADIContext context){
try {
//这里直接操作这个List
for(DataProcessor processor : processors){
if(context.getStatus() == context.STATUS_SUCCESS){
processor.process(context);
}else{
break ;
}
}
} catch (Exception e) {
context.setStatus(ADIContext.STATUS_FAIL);
context.setMsg("数据存储处理失败..."+ExceptionHelper.getExceptionString(e));
logger.error("数据存储处理失败,taskId="+context.getTaskId(),e);
}
if(context.getStatus() == context.STATUS_FAIL){
throw new RuntimeException(context.getMsg());
}
return context;
}
接口的代码
public interface DataProcessor {void process(ADIContext context);
}
回答
processors 这个可以被设置值的
以上是 List可以存储接口类型的数据吗? 的全部内容, 来源链接: www.h5w3.com/112909.html