Tag: 谓词

Kotlin lambda和类型推断

我在Kotlin中实现了以下枚举 enum class PlaylistAction(val playlistFilter:(Playlist) -> Boolean) { PLAY ({ it.playListOwner.Id == "xxx" }), SAVE({true}) } 我想用它来过滤一个像这样的List: var test = playlists.filter { playlistActionType.playlistFilter} 其中playlistActionType是PlaylistAction类型, PlaylistAction列表是List<Playlist> 但我收到以下错误: 错误:(122,34)类型不匹配:推断的类型是(播放列表) – >(播放列表) – >布尔,但(播放列表) – >布尔是预期的 为什么推断的类型(播放列表) – >(播放列表) – >布尔,而不是(播放列表) – >布尔?

将kotlin谓词转换为java

你如何将这个Kotlin谓词转换为java: List<SomeObjWithProp> lst = … Iterables.filter(lst) { obj -> obj?.property != null }