gpt4 book ai didi

android - java.util.NoSuchElementException : List contains no element matching the predicate

转载 作者:行者123 更新时间:2023-12-05 00:09:56 25 4
gpt4 key购买 nike

安卓工作室 3.6

 val reversedEventList: List<Event> = (response.body() as List<Event>).reversed()
Debug.d(TAG, "loadEvents: reversedEventList(" + reversedEventList.size + ")")
val lastEvent: Event = reversedEventList.last {
it.info?.deviceId.equals(
DeviceUtil.deviceId,
true
) && it.type == Type.CALL_WAITRESS
}
Debug.d(TAG, "loadEvents: lastEvent = $lastEvent)")

这里是logcat:
MainViewModel( 5086): loadEvents: reversedEventList(338)
MainViewModel( 5086): loadEvents: lastEvent = Event{id = 366, orgn = 17, type = CALL_WAITRESS, started = 1566750174, finished = 1566750194, closeUser = 1, info = Info{isCash=false, isDiscount=false, deviceId = 41c2d0af61254f94a948882c7613d873}, user = '0', room = 1, table = 66, place = 1, closeInfo = CloseInfo{expectedResponceMinutes=0}})

好的。

在下一个测试用例中,我强制设置空列表
val reversedEventList: List<Event> = ArrayList<Event>()

现在我得到错误:
MainViewModel( 7932): loadEvents: reversedEventList(0)
11-12 15:01:44.789 E/AndroidRuntime( 7932): FATAL EXCEPTION: main
11-12 15:01:44.789 E/AndroidRuntime( 7932): Process: debug, PID: 7932
11-12 15:01:44.789 E/AndroidRuntime( 7932): java.util.NoSuchElementException: List contains no element matching the predicate.
11-12 15:01:44.789 E/AndroidRuntime( 7932): at MainViewModel$loadEvents$1.invokeSuspend(MainViewModel.kt:180)
11-12 15:01:44.789 E/AndroidRuntime( 7932): at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
11-12 15:01:44.789 E/AndroidRuntime( 7932): at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:241)
11-12 15:01:44.789 E/AndroidRuntime( 7932): at android.os.Handler.handleCallback(Handler.java:739)
11-12 15:01:44.789 E/AndroidRuntime( 7932): at android.os.Handler.dispatchMessage(Handler.java:95)
11-12 15:01:44.789 E/AndroidRuntime( 7932): at android.os.Looper.loop(Looper.java:148)
11-12 15:01:44.789 E/AndroidRuntime( 7932): at android.app.ActivityThread.main(ActivityThread.java:5417)
11-12 15:01:44.789 E/AndroidRuntime( 7932): at java.lang.reflect.Method.invoke(Native Method)
11-12 15:01:44.789 E/AndroidRuntime( 7932): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
11-12 15:01:44.789 E/AndroidRuntime( 7932): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

最佳答案

也许使用 lastOrNull将是您的选择:

val eventList: List<String> = emptyList()
val lastEvent: String? = eventList.reversed().lastOrNull { "test" == it }

关于android - java.util.NoSuchElementException : List contains no element matching the predicate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58819353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com