将 List<string> 转换为 ArrayList

Posted

技术标签:

【中文标题】将 List<string> 转换为 ArrayList【英文标题】:Convert List<string> to ArrayList 【发布时间】:2011-09-30 10:29:40 【问题描述】:

谁知道将字符串的List 转换为ArrayList 的最简单方法?

我尝试在代码之前设置(ArrayList),但这没有任何作用。

【问题讨论】:

【参考方案1】:

当然:

ArrayList arrayList = new ArrayList(list);

这是因为 List&lt;T&gt; 实现了 ICollection

但是,我强烈建议您尽可能避免 ArrayList(和其他非泛型集合)。你能重构任何想要ArrayList 的代码来使用泛型集合吗?

【讨论】:

我有一个类似的用例...你能解释一下为什么你建议避免使用 ArrayList 和其他非泛型集合吗? @AJW:因为它们在编译时不安全 - 它们不会阻止您放入“错误”的东西(与您的期望相比)并且您需要强制转换一切都来自他们。 我明白了。我看过的几乎所有处理 RecyclerView 列表及其适配器的教程和代码实验室都显示了 ArrayList 的使用。然而,Room 数据库 DAO 似乎专门使用 List 从例如 SQLite 数据库返回数据。所以你的建议是在 RecyclerView 及其适配器中使用一个 List,因为 DAO 正在返回一个 List? @AJW:我什至在评论之前从未听说过RecyclerView(反正我记得)我很害怕。 @AJW:如果这是 android,请记住,Java 中的 ArrayList(通用)和 .NET 中的 ArrayList(不是)之间存在很大差异。 【参考方案2】:

ArrayList 有一个constructor,它接受一个ICollection。由于List&lt;T&gt; implements ICollection,以下应该可以工作:

var myArrayList = new ArrayList(myList);

【讨论】:

以上是关于将 List<string> 转换为 ArrayList的主要内容,如果未能解决你的问题,请参考以下文章

如何将 List<int> 转换为 string[]?

C# 将 List<string> 转换为 Dictionary<string, string>

将 List<string> 转换为 ArrayList

将 List<String> 直接转换为 List<Integer>

无法将 Dictionary<string, List<string>> 转换为 IReadOnlyDictionary<string, IReadOnlyCollect

如何将 Hashmap 中的值转换为 List<String>