我需要在dart中将List转换为字符串。
我想从首选项中提取列表的值。我已经尝试过该实现,但是它只是给了我最后的价值。 Future<List<String>>
services=SharedPrefSignUp.getSelectedServices();
services.then((onValue){
List<String>servicesList=onValue;
selectServicesText=servicesList.join(",");
});
答案 0 :(得分:15)
如果您知道自己有List<String>
,则可以使用flutter提供的join()
功能。
var list = ['one', 'two', 'three'];
var stringList = list.join("");
print(stringList); //Prints "onetwothree"
简单而简短。 ;)
您可以像这样使用它:
List<String>servicesList=["one", "Two", "Thee"];
print(servicesList.join(""));
答案 1 :(得分:4)
如果要将List<String>
转换为coma septated String
,可以执行此操作
List<String> list =["one", "Two", "Thee"];
print(list.join(",")); // Output will be like this : one,Two,Thee
Join()方法将每个元素转换为字符串并连接字符串。
答案 2 :(得分:2)
您可以在类似这样的列表上使用reduce方法:
List<String> list = ['one', 'two', 'three'];
final string = list.reduce((value, element) => value + ',' + element);
// For your example:
List<String> servicesList = await SharedPrefSignUp.getSelectedServices();
selectServicesText = servicesList.reduce((value, element) => value + ',' + element);
答案 3 :(得分:1)
您可以使用StringBuffer迭代列表和连接值
var list = ['one', 'two', 'three'];
var concatenate = StringBuffer();
list.forEach((item){
concatenate.write(item);
});
print(concatenate); // displays 'onetwothree'
}
答案 4 :(得分:0)
print(list.toString().replaceAll('[', '').replaceAll(']',''))
答案 5 :(得分:0)
以防万一有人想连接对象列表中的特定成员字符串:这里有一种方法可以做到这一点-
string commaSeparatedNames=return listOfObjectsWithNameAttribute
.map((item) => item.name)
.toList()
.join(",");