【问题标题】:indexOf is red underlinedindexOf 是红色下划线的
【发布时间】:2022-01-01 18:48:25
【问题描述】:

我尝试在我的代码中使用indexOf,但indexOf 带有红色下划线,我不知道为什么...

这是我的功能:

  void test() {
     indexx = dateArrayTest.indexOf(formattedDate);
  }

这是我的导入:

import 'package:flutter/material.dart';
import 'package:fitnessapp2/main.dart';
import 'package:intl/intl.dart';

这是我使用的变量:

  int formattedDate = int.parse(DateFormat('yyyyMMddkkmm').format(date));
  var indexx;
  var dateArrayTest = {
    202201011940,
    202201011941,
    202201011942,
    202201011943,
    202201011944,
    202201011945,
    202201011946,
    202201011947,
  };

我需要再次导入吗?

【问题讨论】:

  • dateArrayTest是什么类型?
  • 您的 IDE 向您报告什么错误? dateArrayTestformattedDate是什么类型?
  • 我已经更新了我的问题,现在你可以看到我的变量了
  • 您的dateArrayTest 不是List,而是Set(如果[],您使用的是{})。 Set 没有其元素的索引位置,因此也没有 indexOf 方法。
  • 添加了一个你可以接受的答案,如果它有效的话。 :)

标签: list flutter dart arraylist


【解决方案1】:

您的问题是您的dateArrayTest 被声明为Set<int>,它没有indexOf 方法,因为索引不能请求Set 的元素。

如果您需要indexOf 方法,则需要使用[] 而不是{}dateArrayTest 声明为List<int>

  var dateArrayTest = [
    202201011940,
    202201011941,
    202201011942,
    202201011943,
    202201011944,
    202201011945,
    202201011946,
    202201011947,
  ];

【讨论】:

    猜你喜欢
    • 2020-07-29
    • 2019-07-12
    • 2011-09-19
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-24
    • 1970-01-01
    相关资源
    最近更新 更多