Dart代码报错:类'String'不存在实例方法'>'(Visual Studio环境)
解决Dart中NoSuchMethodError: Class 'String' has no instance method '>'的问题
报错原因
你的代码中names是字符串列表,每个元素都是String类型,但你在any方法里尝试执行element > 3——Dart的字符串类没有定义与数字比较的>运算符,因此触发这个异常。
解决方案
根据你的实际需求选择对应修改方式:
需求1:检查列表中是否存在长度大于3的字符串
如果要判断列表里有没有长度超过3的字符串,应该用字符串的length属性做判断:
void main (){ List names= [ "eslam", "zoz", "semsem"]; var hasLongName = names.any((element) => element.length > 3); print(hasLongName); // 输出true }
需求2:判断数字列表中是否有大于3的元素
如果你的本意是操作数字列表,需先把列表改为数字类型,再直接做数值比较:
void main (){ List<int> numbers = [1, 4, 2]; var hasNumberGreaterThan3 = numbers.any((element) => element > 3); print(hasNumberGreaterThan3); // 输出true }
内容的提问来源于stack exchange,提问作者eslam ibrahim
相关产品推荐
相关产品推荐

