【发布时间】:2010-11-04 08:40:33
【问题描述】:
我使用以下代码将 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;
正确的做法是什么?
【问题讨论】:
-
我最喜欢waxwing的回答:String[] stringArray = Arrays.copyOf(objectArray, objectArray.length, String[].class);它非常简洁且有效。我计算了他的回答和我目前的方法需要多少时间,它们几乎相同。