如何将列表转换为字符串
然后我如何在其他地方使用 _checked 字符串值
List<String> _checked = [];
答案 0 :(得分:1)
有很多方法。第一种方法是简单地调用列表中的 <div id="backdrop"></div>
:
toString
另一种方法是使用 final list = ['a', 'b', 'c'];
final str = list.toString();
// str = "[a, b, c]"
,它将使用可选的分隔符将所有字符串连接成一个字符串:
join
还有其他更专业的方法,但它们需要更多地了解您希望输出的样子。
答案 1 :(得分:0)
join
方法用于此目的。数组元素被转换为字符串,然后粘合成一个,在参数 join
中你可以传递一个将在粘合部分之间的部分。
List<String> list = ["a", "b", "c"];
list.join() // 'abc';
list.join('|') // 'a|b|c'; // better for comparisons
其他方式 - 使用类:
import 'package:crypto/crypto.dart';
import 'package:convert/convert.dart';
import 'dart:convert';
class A {
List<String> a;
A(List<String> list): a = list;
@override
String toString() {
return a.join('|');
}
int get hashCode {
var bytes = utf8.encode(a.toString());
return md5.convert(bytes); a.toString().length;
//return a.toString().length; // silly hash
}
bool operator ==(other) {
String o = other.toString();
return (o == a.join('|'));
}
}
void main() {
A _checked = A(['1', '2', '3']);
A _other = A(['1', '2', '3']);
A _next = A(['12', '3']);
print(_checked == _other); // true
print(_checked); // 1|2|3
print(_checked == _next); // false
print(_next); // 12|3
}
是的类是矫枉过正的,你可以只使用一个函数:
String toString(List<String> a) {
return a.join('|');
}
print(toString(_checked) == toString(_other)); // true
print(toString(_checked)); // 1|2|3
print(toString(_checked) == toString(_next)); // false
print(toString(_next)); // 12|3