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

279

我使用以下代码将一个对象数组转换为字符串数组:

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;

应该如何正确处理?


3
我最喜欢Waxwing的回答:String[] stringArray = Arrays.copyOf(objectArray, objectArray.length, String[].class);非常简洁且有效。我对他的回答和我的当前方法计时,它们所花费的时间几乎相同。 - Frank
11个回答

1

轻松更改,无需头疼 将任何对象数组转换为字符串数组 Object drivex[] = {1,2};

    for(int i=0; i<drive.length ; i++)
        {
            Str[i]= drivex[i].toString();
            System.out.println(Str[i]); 
        }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接