假设您使用的是Java 8+,那么Collection<TypeInList>您可以调用Collection.stream()并对此进行forEach操作。喜欢,testList.stream().forEach(TypeInList::function);您当前的方法是尝试做this无法做到的事情。它可以像这样固定for (int i = 0; i < testList.size(); i++){ TypeInList that = testList.get(i); // this is a reserved word. that.function();}或者for (TypeInList x : testList) { x.function();}
遍历列表有多种方法,但是我个人最容易找到的是这样的:假设您的列表包含String对象,例如:List<String> list = new ArrayList();list.add("Hello");list.add("World");for(String current : list){ System.out.println(current);}该循环将迭代两次,控制台将输出以下内容:HelloWorld这种方法不依赖索引(因为您在问题中的使用方式),因此,我发现它很容易用于遍历单个列表。但是,缺点是,如果您要遍历2个单独的列表,则缺少索引会使其变得更加复杂。遍历多个列表的更简单方法是使用传统方法,如下所示:for(int i=0; i<list.size(); i++){ int x = list1.get(i); int y = list2.get(i);}因此,您的用例确实确定了您可以采用的理想方法。