我该如何解决java.lang.ArrayStoreException

时间:2019-05-18 09:23:24

标签: java android

在Android Studio中出现以下错误:

Gettingfollowing error in the 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]);
}

2 个答案:

答案 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]);
    }
 }