java/processing返回ArrayList抛出:此方法必须返回ArrayList类型的结果
我有这个函数makeAirportManager,它应该返回一个ArrayList所有必需的变量映射,countryMarkers和airportMarkers是全局脏处理风格java/processing返回ArrayList抛出:此方法必须返回ArrayList类型的结果,java,processing,Java,Processing,我有这个函数makeAirportManager,它应该返回一个ArrayList所有必需的变量映射,countryMarkers和airportMarkers是全局脏处理风格 ArrayList makeAirportManagers(){ ArrayList managers = new ArrayList(); for (Marker country : countryMarkers){ MarkerManager currentMarkerManager = new
ArrayList makeAirportManagers(){
ArrayList managers = new ArrayList();
for (Marker country : countryMarkers){
MarkerManager currentMarkerManager = new MarkerManager();
for (Marker airport : airportMarkers){
Location airportLocation = airport.getLocation();
ScreenPosition airportScreenPos = map.getScreenPosition(airportLocation);
if(country.isInside(map, airportScreenPos.x, airportScreenPos.y)){
currentMarkerManager.addMarker(airport);
}
}
currentMarkerManager.disableDrawing();
managers.add(currentMarkerManager);
map.addMarkerManager(currentMarkerManager);
airportManagersBuild = true;
return managers;
}
}
控制台打印:此方法必须返回ArrayList类型的结果
我真的不知道为什么
在另一个版本的代码中,我计算了managers的项目,以确保它不是空的,并且它得到了178个与预期相同的项目
我之所以使用Processing 1.5.1,是因为我使用的是展开库。您的返回方法在for循环中。您必须将其移到下面一行。您的返回方法在for循环中。您必须将其移到下面一行。如果countryMarkers中没有元素,您将永远无法访问行返回管理器,并且您的方法将不会返回任何内容
即使您知道容器永远不会为空,Java编译器也不会。因此您的错误。如果countryMarkers中没有任何元素,您将永远无法联系到行返回管理器,并且您的方法将不会返回任何内容
即使您知道容器永远不会为空,Java编译器也不会。这就是你的错误。谢谢,但是countryMarkers不是空的。你知道的。不是你的编译器。你的编译器比你或我更正确,但countryMarkers不是空的。你知道的。不是你的编译器。你的编译器比你对,我真是瞎了眼!非常感谢你!我真瞎!非常感谢你!