Java 将字符串数组转换为ArrayList
可能重复: 如何转换字符串数组,如:Java 将字符串数组转换为ArrayList,java,arrays,string,arraylist,classcastexception,Java,Arrays,String,Arraylist,Classcastexception,可能重复: 如何转换字符串数组,如: String logsSplitFromUrdu[] = fromTheRecentLogFile.split("غزل"); 变成一个数组列表 编辑: 当我遇到一个错误时,我正在做这样的事情: ArrayList<String> time = (ArrayList<String>)Arrays.asList(logsSplitFromUrdu); 使用Arrays类中的方法。在这种情况下,它将返回正确泛型类型字符串的列表: L
String logsSplitFromUrdu[] = fromTheRecentLogFile.split("غزل");
变成一个数组列表
编辑:
当我遇到一个错误时,我正在做这样的事情:
ArrayList<String> time = (ArrayList<String>)Arrays.asList(logsSplitFromUrdu);
使用Arrays类中的方法。在这种情况下,它将返回正确泛型类型字符串的列表:
List<String> list = Arrays.asList(logsSplitFromUrdu);
如果您确实需要一个ArrayList,但列表不行,请在前一行之后再写一行:
ArrayList<String> arraylist = new ArrayList<String>(list);
使用Arrays类中的方法。在这种情况下,它将返回正确泛型类型字符串的列表:
List<String> list = Arrays.asList(logsSplitFromUrdu);
如果您确实需要一个ArrayList,但列表不行,请在前一行之后再写一行:
ArrayList<String> arraylist = new ArrayList<String>(list);
返回类型为
Arrays.asList(logsSplitFromUrdu);
是列表,无法强制转换为ArrayList。相反,您可以使用:
List<String> myList = Arrays.asList(logsSplitFromUrdu);
它返回一个不可修改的列表。要获取可修改列表,您可以使用:
ArrayList<String> modifyiableList = new ArrayList<String>(myList);
modifyiableList.add("...");
返回类型为
Arrays.asList(logsSplitFromUrdu);
是列表,无法强制转换为ArrayList。相反,您可以使用:
List<String> myList = Arrays.asList(logsSplitFromUrdu);
它返回一个不可修改的列表。要获取可修改列表,您可以使用:
ArrayList<String> modifyiableList = new ArrayList<String>(myList);
modifyiableList.add("...");
你必须使用java.util.Arrays的asList方法,参考文档你必须使用java.util.Arrays的asList方法,参考文档看一看。此方法返回一个固定大小的列表 因此,如果您同意固定大小列表,那么您可以使用:-
List<String> fixedList = Arrays.asList(logsSplitFromUrdu);
但你不应该这样做:-
ArrayList<String> modifiableList =
new ArrayList<String>(Arrays.asList(logsSplitFromUrdu))
它将为您提供ClassCastException,因为从Arrays.asList返回的列表类型为:-java.util.Arrays.ArrayList,并且不能强制转换为:-java.util.ArrayList
更新:-是在Arrays类中定义的静态类 看一看。此方法返回一个固定大小的列表
因此,如果您同意固定大小列表,那么您可以使用:-
List<String> fixedList = Arrays.asList(logsSplitFromUrdu);
但你不应该这样做:-
ArrayList<String> modifiableList =
new ArrayList<String>(Arrays.asList(logsSplitFromUrdu))
它将为您提供ClassCastException,因为从Arrays.asList返回的列表类型为:-java.util.Arrays.ArrayList,并且不能强制转换为:-java.util.ArrayList
更新:-是在Arrays类中定义的静态类 使用Arrays.asList方法将数组转换为ArrayList
使用Arrays.asList方法将数组转换为ArrayList
您只需使用for循环将数组中的所有元素复制到新的ArrayList中,如下所示:
ArrayList<String> logsList = new ArrayList<String>();
for(int i = 0; i < logsSplitFromUrdu.length; i++)
{
logsList.add(logsSplitFromUrdu[i]);
}
在此之后,logsList将包含原始数组中的所有元素。您只需使用for循环将数组中的所有元素复制到新的ArrayList中,如下所示:
ArrayList<String> logsList = new ArrayList<String>();
for(int i = 0; i < logsSplitFromUrdu.length; i++)
{
logsList.add(logsSplitFromUrdu[i]);
}
在此之后,日志列表将包含原始数组中的所有元素。您是否查阅了:-什么错误?或者猜测是乐趣的一部分?@AndrewThompson错误:它不能被铸造请将新信息复制/粘贴到问题中作为编辑,并在其上使用代码格式。您是否阅读了:-什么错误的文档?或者猜测是乐趣的一部分?@AndrewThompson错误:它不能被铸造请将新信息复制/粘贴到问题中作为编辑,并在其上使用代码格式。java.util.List.ArrayList我怀疑它是否存在@Y.E.P.很抱歉。java.util.Arrays.ArrayList。将对其进行修改。@Y.E.P请参阅此优秀帖子:-有关此java.util.List.ArrayList的更多信息,我怀疑它是否存在@Y.E.P.很抱歉。java.util.Arrays.ArrayList。将对其进行修改。@Y.E.P查看此优秀帖子:-了解更多信息