我使用以下代码将Object数组转换为String数组:
Object Object_Array[]=new Object[100]; // ... get values in the Object_Array String 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;
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
正确的方法是什么?
另一种替代方法System.arraycopy:
System.arraycopy
String[] stringArray = Arrays.copyOf(objectArray, objectArray.length, String[].class);