我正在查看这段代码,无法理解 .add 语句在做什么(fromCity)和(toCity)只是字符串?
getDestinations(fromCity).add(toCity);
方法:
public ArrayList<String> getDestinations(String fromCity)
getDestinations(fromCity)
返回一个ArrayList
add
方法是向其添加元素的数组列表方法。
换句话说:
ArrayLisst<String> destList = getDestinations(fromCity);
destList.add(toCity);
它将字符串添加toCity
到ArrayList<String>
返回的getDestinations(fromCity)
.
这被称为chaining of method calls
。您正在对前一个方法的返回值调用下一个方法。
因此,该getDestinations()
方法返回您 a ArrayList
,现在您不是存储您的返回值,而是在方法调用上调用 的add
方法ArrayList
。
getDestinations(fromCity).add(toCity);
这相当于: -
ArrayList<String> list = getDestination(fromCity) // returns `ArrayList - list`
list.add(toCity) // invoke `add` method on returned arraylist.
同样,您可以将方法调用链接到任何 lavel:-
meth1(parameter1).meth2(param3).meth3(param3);
请检查
public ArrayList<String> getDestinations(String fromCity)
-返回一个可以有一组字符串的ArrayList *
getDestinations(fromCity).add(toCity);
---这里调用getdestination它返回arraylist并添加一个String(fromcity)到arraylist