IAd*_*ter 4 java generics casting coding-style
public static void someMethod(List < ? extends BaseDto > list) {
for (ChildDto dto : list) {
}
}
Run Code Online (Sandbox Code Playgroud)
ChildDto扩展了BaseDto,在这里我确定它的列表中充满了ChildDto.
我知道我可以做这样的事情
for (TextApplicationDto dto : (List<TextApplicationDto>)list) {
Run Code Online (Sandbox Code Playgroud)
但它看起来不漂亮.
有没有更好的方法来进行铸造?
我认为最好的方法是:
public static void someMethod(List < ? extends BaseDto > list) {
for (BaseDto dto : list) {
ChildDto taDTO = (ChildDto)dto;
// Whatever
}
}
Run Code Online (Sandbox Code Playgroud)
它还允许您使用instanceof
以确保列表仅包含ChildDto
归档时间: |
|
查看次数: |
4787 次 |
最近记录: |