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

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;

正确的方法是什么?

推荐答案

System.arraycopy之外的另一种 Select :

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

Java相关问答推荐

虚拟线程似乎在外部服务调用时阻止运营商线程

RxJava PublishSubject缓冲区元素超时

为什么在枚举中分支预测比函数调用快?

Kubernetes的Java客户端检索状态.处于终止状态的Pod的阶段';正在运行';

如何打印本系列的第n项y=-(1)-(1+2)+(1+2+3)+(1+2+3+4)-(1+2+3+4+5)...Java中的(1+2+3+4...+n)

Exe4j创建的应用程序无法再固定在任务栏Windows 11上

Bean定义不是从Spring ApplationConext.xml文件加载的

按属性值从流中筛选出重复项

多重延迟签名

对字符串长度进行排序,但颠倒了顺序(最长字符串在前)

尽管通过中断请求线程死亡,但线程仍将继续存在

如何仅使用键/ID的一部分(组合)高效地返回映射值?

如何用内置Java从JavaFX应用程序中生成.exe文件?

有谁能帮我修一下这个吗?使输出变得更加整洁

如果第一位数字和最后一位数字相差超过一位,您将如何获得随机数?

每次我需要时创建和关闭数据库连接会有什么效果吗?

如何处理两个几乎相同的XSD文件?

判断重复的两个二维表算法?

在ECLIPSE上的M1 Pro上运行JavaFX的问题

没有Google Play服务,Firebase Auth无法工作