Попробуйте
Directions.loadFromWaypoints((Waypoint[])(waypoints.toArray()), opts);
С другой стороны
Waypoint[] array = new Waypoint[0];
array = waypoints.toArray(array);
Directions.loadFromWaypoints(array, opts);
Или проще
Waypoint[] array = waypoints.toArray(new Waypoint[0]);
Directions.loadFromWaypoints(array, opts);
См. Также List#toArray(T[] a)
.
Приложение: Первоначально я думал, что ваш актерский состав был проблемой с приоритетом. Общий параметр T
в List#toArray(T[] a)
устраняет необходимость явного приведения, гарантируя, что «тип времени выполнения возвращаемого массива соответствует типу указанного массива». По сути, он «действует как мост между API на основе массивов и коллекций».