java List of Strings to Array of Strings
我想知道是否有可能将EDCOX1的1的Java EDCOX1的0位转换为EDOCX1×1×s的数组:
我试过这个:
1 2 3
| List <String > products = new ArrayList <String >();
//some codes..
String[] arrayCategories = (String[]) products. toArray(); |
但它给了我一个例外的信息:
java.lang.ClassCastException: java.lang.Object[] cannot be cast to java.lang.String[]
- @拉利特波普塔尼我找到的复制品更好:d
- 复制是复制的好坏:p
- 这里的问题不是数组转换,而是在应为new arraylist()的new arraylist[string]()上错误地使用了[]。我正要回答,但你们把这个关了……
- 嗯。既然我的编辑错了,那就更正了。愿它保持关闭。
1
| String[] array = products. toArray(new String[products. size()]); |
- 它给我带来了同样的例外
- @穆阿德法基尔,那你可能是在做错什么。发布你的代码来检查你搞砸了什么
- 是的,谢谢,我刚刚知道我要说的是什么,我只是忘记填写我的产品清单,我让它空了,它现在工作得很好,谢谢;)
- @穆阿德法基尔,如果这个答案对你有效,你可以把它标为答案。
使用
1
| String[] arrayCategories = products. toArray(new String[products. size()]); |
products.toArray()将把列表值放入Object[]数组中,就像不能将超类型的对象强制转换为其派生类型一样。
1 2
| //B extands A
B b = new A(); |
不能将Object[]数组存储或强制转换为String[]数组,因此需要传递要返回的确切类型的数组。
此处提供其他信息。
这样就可以了。第一行有错别字。
1 2
| List <String > products = new ArrayList <>();
String[] array = (String[]) products. toArray(); |
尝试
1 2
| List <String > products = new ArrayList <String >();
String[] arrayCategories = products. toArray(new String[products. size()]); |