在Java

时间:2016-03-05 00:54:57

标签: java return-value return-type

我需要返回我在我创建的方法中创建的对象的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;
         }

5 个答案:

答案 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>