![](/img/trans.png)
[英]java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
[英]Special Scenario : java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
我只是想删除以下异常。 java.lang.ClassCastException: [Ljava.lang.Object; 不能转换为 [Ljava.lang.String; 请帮帮我。
我需要将它转换为 List<String[]>。 我该如何处理?
List<Object[]> values = query.getResultList();
List<String[]> strings = new ArrayList<>();
for (Object[] object : values) {
strings.add((String[]) object);
}
值 : = [obj1,obj2,obj3]
obj1 = "1", "01";
obj2 = "1", "02";
obj3 = "1:, "03";
我认为你应该使用 System.arraycopy
package com.lsk.backend;
import java.util.*;
import java.util.List;
/**
* @ClassName : Test //className
* @Description : //description
* @Author : shikai.liu //author
* @Date: 2020-08-27 09:13 //Date
*/
public class Test {
public static void main(String[] args) {
List<Object[]> values = getResultList();
List<String[]> strings = new ArrayList<>();
for (Object[] object : values) {
String[]dst=new String[object.length];
System.arraycopy(object,0,dst,0,dst.length);
strings.add(dst);
}
System.out.println(strings);
}
public static List<Object[]>getResultList(){
Object[][]result={
{
"0","1"
},
{
"0","2"
},
{
"0","3"
},
};
List<Object[]>ss=Arrays.asList(result);
return ss;
}
}
List<Object[]> values = query.getResultList();
List<String[]> strings = new ArrayList<>();
values.forEach(object -> {
String [] stringArray = new String[object.length];
System.arraycopy(object, 0, stringArray, 0,object.length);
strings.add(stringArray);
});
这最终对我有用
values.forEach(o->{ strings.add(Arrays.copyOf(o, o.length, String[].class));});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.