我需要返回我在我创建的方法中创建的对象的3个值。我可以把这个代码放在我的while循环中,它执行我想要它执行的方式。但是我想把它保存在一个方法中,只是为了模块化我的程序并保持代码的组织。我正在使用ACM库,这是为了学术目的。
public GObject asteroidLocation(){
if(asteroid1.getX() >= AW)
{
asteroid1.setLocation(0,150);
}
else if(asteroid2.getX() >= AW)
{
asteroid2.setLocation(0,80);
}
else if(asteroid3.getX() >= AW)
{
asteroid3.setLocation(0,20);
}
return asteroid1, asteroid2, asteroid3;
}
答案 0 :(得分:2)
您需要的是java.util.List
对于您的用例,您可以这样做:
return Arrays.asList(asteroid1, asteroid2, asteroid3);
您的返回类型为List<GObject>
答案 1 :(得分:0)
所以返回一个List<Asteroid>
或类型的小行星。更好的是,您创建的对象具有List<Asteroid>
,具有getAsteroids()
方法并返回该对象。
答案 2 :(得分:0)
您是否尝试过元组(https://en.m.wikipedia.org/wiki/Tuple)和三元组? Java不提供任何功能,但实现起来非常简单。如果需要,我可以给你一个例子。
答案 3 :(得分:0)
而不是将值返回到if条件之外而不是从内部返回它。例如,
if(asteroid1.getX >= AW)
{
asteroid1.setLocation(0,150);
return asteroid1;
}
通过这种方式,您可以简化代码并仅将一个返回值传递给类
答案 4 :(得分:0)
直接回答你问题“ Java中相同类型的多重值”将是:
GObject[]
List<GObject>