将Object数组转换为String数组是否使用对象的toString()方法?

时间:2015-11-17 02:40:53

标签: java arrays string object

我需要使用对象的toString()方法将其放入数组中。我想知道,如果我将数组转换为String[],它会使用toString()方法吗?

例如:

public static String[] toStringArray(MyObject[] myObjects) {
    // Will this return the toString() representation of each object?
    return (String[])myObjects;
}

2 个答案:

答案 0 :(得分:4)

不,它会因ClassCastException而失败。

Casting不会对对象实例进行任何转换。它只检查它是否具有您要将其强制转换的类型。

您可能希望查看java.util.Arrays.toString(myObjects)(虽然不是String[],但却提供了一个字符串。

答案 1 :(得分:1)

最简单的方法是:

public static String[] toStringArray(MyObject[] myObjects) {
    return Stream.of(myObjects)
        .map(MyObject::toString)
        .toArray(String[]::new);
}