代码之家  ›  专栏  ›  技术社区  ›  Deusnominus

为什么我不能访问函数中mutableListOf(对象)的第一个元素

  •  0
  • Deusnominus  · 技术社区  · 1 年前

    我将列表更改为可变列表<列表<餐馆gt> 现在restaurantList[0]显示错误类型不匹配。但是变量main采用restaurant类型的对象,restaurantList[0]是restaurants对象列表的第一项,所以它不起作用。它在更改为mutableList之前起作用了吗?

    错误 类型不匹配 必填项:餐厅? 已找到:列表<餐馆gt;

    并且我从列表更改为可变列表<列表>

    @Composable
    fun ComposeMapDemo(restaurantList: MutableList<List<Restaurant?>>, navController: NavController){
        var main by remember{ mutableStateOf<Restaurant?>(null) }
            }
        if (restaurantList.isNotEmpty()){
            main = restaurantList[0]
        }
    
    1 回复  |  直到 1 年前
        1
  •  1
  •   JSMonk    1 年前

    我觉得问题出在类型检查上。你有一个州( main )持有 Restaurant? 类型,以及中的第一个元素 restaurantList: MutableList<List<Restaurant?>> List<Restaurant> 。看来你需要更换 restaurantList:MutableList<列表<餐馆gt> 具有 restaurantList: MutableList<Restaurant?> .