如何转换List <?将Foo>扩展到List <Foo>

在:

Spring Batch的ItemWriter接口是这样的:

write(List<? extends T> items); 

我希望ItemWriter调用服务,但我的服务具有以下功能:

process(List<T> items); 

AFAIK,Java泛型对集合中的类型转换非常严格。

无可辩驳的:

只需继续进行投射即可。对于阅读,List<? extends Foo>肯定是List<Foo>,强制转换绝对安全。Collections.unmodifiableList()如果您偏执,可以将其包裹起来

List<? extends Foo> foos1 = ...;

@SuppressWarnings("unchecked")
List<Foo> foos2 = (List<Foo>)(List<?>)foos1;    

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将Map <Long,List <Foo >>转换为List <Foo>

将IEnumerable <foo>的列表转换为List <string>

如何将LiveData <List <Foo >>转换为LiveData <List <Bar >>?

我如何从'./foo'`将*导出为foo?

从List <Foo>到Map <String,List <Foo >>:寻找更好的实现

如何使用脚本/别名使bash / zsh将某些文本从“ foo.foo.foo”更改为“ foo foo foo”?

无法从List <Bar>转换为List <Foo>

如何正确地将 _foo 转换为 `Foo` 类型?

如何分配列表<?将BaseClass>扩展到List <BaseClass>

如何将“ c.foo()+ c.boo()”定向到“ c.foo_and_boo()”?

从List <List <?转换 将Object >>扩展到List <List <SpecificType >>

Swift:将Foo <String>转换为Foo <Any>

打字稿将类型`typeof Foo`转换为`Foo`

如何使用sed将},{“ Foo”更改为} \ n {“ Foo”?

Nginx将子域foo重定向到www.foo到www.www.foo等

如何使用“类型提示”显示List <Foo>

如何将List <Identifier <Foo >>传递给具有List <Identifier <?>>参数的方法?

如何将foo.war的根路径设置为/ foo / bar而不是/ foo?

如何合并Foo <A> | Foo <B>转换为Foo <A | B>

将* [] foo类型的变量转换为* [] bar

如何使用番石榴将MultiMap <Integer,Foo>转换为Map <Integer,Set <Foo >>?

Swift Combine:如何将`AnyPublisher <[Foo],*>`转换为`AnyPublisher <Foo,*>`?

类型不匹配:无法从List <capture#2-of?将IDto>扩展到List <FollowingResponseDto>

防止foo =“ *”中的glob扩展;回声$ foo

在Hibernate中映射Map <String,List <Foo >>

ASP.NET MVC 将 List<Foo> 集合从我的视图发送到控制器

如何将所有以 foo 开头的路由路径重定向到以 bar 开头的路径

如何使用nginx作为反向代理将localhost:9292定向到子域foo.localhost /?

Scala:将参数数组扩展到List中会出现错误