在Android Studio中出现以下错误:
获取:
java.lang.ArrayStoreException:com.example.glide.ImageList类型的source [0]不能存储在此行中java.lang.String []类型的目标数组中
代码:
ArrayList<ImageList> list = new ArrayList<>();
Object[] objNames = list.toArray();
String[] strNames = Arrays.copyOf(objNames, objNames.length, String[].class);
for(int j=0; j < strNames.length; j++){
strNames[j] = String.valueOf(list.get(j));
Log.d("String : {} ", strNames[i]);
}
答案 0 :(得分:0)
首先,您有一个ImageList项目列表。 其次,此列表为空。 第三,定义了String数组,并使用Array.copyOf进行填充。
这行不通。您可以将ImageList直接转换为String。 您要在这里实现什么?
不确定,如果要使用ImageList的字符串表示形式,可以遍历“列表”并在每个实例上调用.toString()方法,以便获取实例的字符串表示形式。
再次不清楚您想要什么吗?
答案 1 :(得分:0)
您的程序有很多逻辑错误。
但是尝试这个
public static void main(String[] args) {
ArrayList<ImageList> list = new ArrayList<>();
list.add(new ImageList()); //adding some dummy objects, you add yours
list.add(new ImageList());
String[] strNames = new String[list.size()];
for(int j=0; j < strNames.length; j++){
strNames[j] = String.valueOf(list.get(j));
Log.d("String : {} ", strNames[i]);
}
}