我有userDto,包含programs
,其中包含actual
字段。实际程序只能是一个。我需要得到它。比,我运行这个:
userDto.programs.sortedBy { it.created }.findLast { it.actual }?
好的,但是我想预见到findLast
返回null并抛出异常的情况。请提出建议,该怎么做?
UPD:
ProgramType.valueOf(userDto.programs
.sortedBy { it.created }
.findLast { it.actual }
//check here
!!.programType!!).percentage
答案 0 :(得分:1)
您实际上非常接近:)!您可以做的是:
userDto.programs.sortedBy { it.created }.findLast { it.actual } ?: throw RuntimeException()
或者,如果您实际上试图避免引发错误(无法真正告知问题的方式),则可以执行如下错误检查:
userDto.programs.sortedBy { it.created }.findLast { it.actual }?.let{
//rest of your code goes here
}
希望这会有所帮助,加油!