如何从另一个方法访问方法的返回类型

时间:2018-09-17 08:33:54

标签: java class

我有以下代码,在此方法中,我输入了一个双精度数字和3个对象数组列表:

public static ArrayList<ELPERouteStop> relatedness(double pososto,ArrayList<ELPERouteStop> all_stops, ArrayList<Distance> distances, ArrayList<ELPEVehicleLoaded> vl_list)
{
//do stuff
return destroyedCustomers;
}

我需要从同一类的另一个方法调用列表destroyCustomers。 另一类是:

public void destroySolution(ArrayList<ELPERouteStop> removedCustomers, SolutionCreated sc,ArrayList<shadowVehicle> all_svehicles)
{
//do stuff
}

作为输入我需要访问的对象列表。 有什么办法可以访问我? 在我的主要方法上,我执行了以下操作:

LNS lns = new LNS();
lns.destroySolution(LNS_Procedure.relatedness(0.15,all_route_stops, distances, vl_list), sc, all_svehicles);

这行得通吗? 提前非常感谢您!

1 个答案:

答案 0 :(得分:4)

据我所知,这是方法a调用方法b的一般情况。由于Java(和大多数语言)从最里面的语句到最外面的语句进行求值,因此它肯定可以按您期望的那样工作:

a(b()); // Function composition, produces the result of applying a to the result of b

Java还按值传递引用,这意味着被调用方方法中的任何更改(重新分配除外)对调用方都是可见的。在这种情况下,如果b()返回一个列表,并且a()将一个元素添加到该列表中并返回它,则任何调用方法a都会看到多余的元素。