9
4

1 回答 1

6

问题是,由于类型擦除,zipper函数参数的类型是未知的。正如您在 的定义中看到的zip

public static <T, R> Single<R> zip(final Iterable<? extends SingleSource<? extends T>> sources, Function<? super Object[], ? extends R> zipper)

您必须将其Any用作数组的输入,并将它们转换为您需要的任何内容:

roomDatabase.userFriendsDao().getUserFriendsDtosForToken(token).subscribe(
        { userFriends: List<UserFriendDTO> ->
            Single.zip(
                    getLocationSingleForEveryUser(userFriends),
                    Function<Array<Any>, List<Location>> { t: Array<Any> -> listOf<Location>() })
        },
        { error: Throwable -> }
)
于 2018-09-13T18:30:20.247 回答