我创建了一个派生于 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/