如何在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);

鳳凰求蠱
TA貢獻1825條經驗 獲得超4個贊
在Java 8中:
String[] strings = Arrays.stream(objects).toArray(String[]::new);
要轉換其他類型的數組:
String[] strings = Arrays.stream(obj).map(Object::toString).
toArray(String[]::new);

眼眸繁星
TA貢獻1873條經驗 獲得超9個贊
System.arraycopy可能是最有效的方式,但對于美學,我更喜歡:
Arrays.asList(Object_Array).toArray(new String[Object_Array.length]);
添加回答
舉報
0/150
提交
取消