为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Java中将对象数组转换为字符串数组

如何在Java中将对象数组转换为字符串数组

如何在Java中将对象数组转换为字符串数组我使用以下代码将Object数组转换为String数组:Object Object_Array[]=new Object[100];// ... get values in the Object_ArrayString String_Array[]=new String[Object_Array.length];for (int i=0;i<String_Array.length;i++) String_Array[i]=Object_Array[i].toString();但我想知道是否有另一种方法可以做到这一点,例如:String_Array=(String[])Object_Array;但这会导致运行时错误: Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;这样做的正确方法是什么?
查看完整描述

3 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

另一种选择System.arraycopy:


String[] stringArray = Arrays.copyOf(objectArray, objectArray.length, String[].class);

查看完整回答
反对 回复 2019-08-30
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

在Java 8中:


String[] strings = Arrays.stream(objects).toArray(String[]::new);

要转换其他类型的数组:


String[] strings = Arrays.stream(obj).map(Object::toString).

                   toArray(String[]::new);


查看完整回答
反对 回复 2019-08-30
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

System.arraycopy可能是最有效的方式,但对于美学,我更喜欢:


 Arrays.asList(Object_Array).toArray(new String[Object_Array.length]);


查看完整回答
反对 回复 2019-08-30
  • 3 回答
  • 0 关注
  • 10339 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信