Java中的列表迭代

Java中的列表迭代,java,Java,我有一个包含以下几个类的文件: @Getter @Setter public class GlobalDto { List<SomeClass> someClass; } @Getter @Setter class SomeClass implements Serializable { String lastName; String firstName; } @Getter@Setter 公共类GlobalDto{ 列出某个类; } @Getter@Set

我有一个包含以下几个类的文件:

@Getter @Setter
public class GlobalDto {
    List<SomeClass> someClass;
}

@Getter @Setter
class SomeClass implements Serializable {
    String lastName;
    String firstName;
}
@Getter@Setter
公共类GlobalDto{
列出某个类;
}
@Getter@Setter
类SomeClass实现可序列化{
字符串lastName;
字符串名;
}
我如何迭代这个
列表someClass在一个for each循环中

我试过这个:

List<GlobalDto> list;
for(GlobalDto item : list) {
       List<SomeClass > it = item.getSomeClass().get(0);
}
列表;
对于(全局待办事项:列表){
列出它=item.getSomeClass().get(0);
}

然而,我的IntelliJ抛出了一个不兼容的类型错误,并希望从多个类型转换中得到帮助。因此,如何从我的
GlobalDto
中获得
lastName
来自
SomeClass

问题是:你说
它是
列表,但是
项。getSomeClass()。get0
返回
SomeClass
对象,这就是为什么
it
和您正在调用的方法的返回值是不兼容的类型

如果您的列表是
列表那么你的循环应该可以工作(至少基于你展示的内容)。若并没有,那个么
不兼容类型
应该为您提供更多关于编译器看到和抱怨的问题性质的详细信息。使用选项包含实际的错误消息和错误。请查看此选项
List<GlobalDto> list;
for(GlobalDto item : list) {
   List<SomeClass> it = item.getSomeClass().get(0); 
   // it = List, items.getSomeClass() returns List, but items.getSomeClass().get(0) returns SomeClass object
}
List<GlobalDto> list;
for(GlobalDto item : list) {
   List<SomeClass> it = item.getSomeClass(); // get the list
   for(SomeClass some : it) {
       // do whatever
   }
}