java - 将对象数组转换为自定义类数组

标签 java arrays object



我创建了一个派生于 Object 的类,并且有一个对象数组。
如何将对象数组转换为我的类数组

public class CastArray{

public CastArray(){
}

public long toLong(){
    return Long.parseLong(this.toString());
}    

public double toDouble(){
    return Double.parseDouble(this.toString());
}

public int toInteger(){
    return Integer.parseInt(this.toString());
}
}<br />

返回错误:
java.lang.ClassCastException:[Ljava.lang.Object;无法转换为 [LBasic.CastArray;

最佳答案

这个问题有点模糊,但让我尝试回答一下。如果对象数组实际上是您的类的数组,您可以直接转换为您的数组,例如A[] a = (A[]) objArray;。或者,如果您知道每个元素都可以转换到您的类中(是您的类或其子类之一的实例),则可以通过创建一个新数组并将带有转换的每个元素添加到您的类中来克隆它。例如:

A[] a = new A[objArray.length];
int i = 0;
for (Object o : objArray) {
   a[i++] = (A) o;
}

关于java - 将对象数组转换为自定义类数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8018571/

相关文章:

java - 如何从给定 itemNum 的 ArrayList 中删除项目?

带/不带 validate() 的 Java JApplet

java - Maven导入项目错误

java - ActionForward Struts 1.3的简单使用

Ruby 关联数组计算

javascript - 引用和未引用的 JavaScript 对象属性之间的区别

java - 带参数调用方法

javascript - 我如何在 append 数组中使用 FOR?

c - 将二维数组分配给结构体对象

javascript - JavaScript 中的变异对象