我可以将对象从字符串的对象数组转换为字符串.获取classCastException

juj*_*uju 3 java arrays string object classcastexception

我可能很傻,但它让我疯了.我已经四处寻找,但我对编程比较陌生,而且我已经掌控了.如果可以的话请帮忙!bar参数是一个arraylist.toArray(),它只是字符串.

public bar(Object[] contents) {

    for (Object o : contents) {
        String s = (String) o;
        if (s == null) {
            System.out.println("newline"); //checking
        } else  {
            try {
                arrayContents.add(new line(s));

            } catch (Exception ex) {
                System.out.println("error printing note: " + s + " " + ex + " in bar " + i);
            }
        }
        i++;

    }
//        System.out.println(arrayContents);
}
Run Code Online (Sandbox Code Playgroud)

Zho*_*gYu 6

这样做

    String s = String.valueOf(o);
Run Code Online (Sandbox Code Playgroud)

如果Object不是String对象,则不能将Object强制转换为String.你需要toString在对象上调用方法 - 除非对象是null.String.valueOf()照顾好这一点

public static String valueOf(Object obj) {
    return (obj == null) ? "null" : obj.toString();
}
Run Code Online (Sandbox Code Playgroud)