我需要使用对象的toString()
方法将其放入数组中。我想知道,如果我将数组转换为String[]
,它会使用toString()
方法吗?
例如:
public static String[] toStringArray(MyObject[] myObjects) {
// Will this return the toString() representation of each object?
return (String[])myObjects;
}
答案 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);
}