【发布时间】:2013-08-09 03:28:02
【问题描述】:
我有一个类型为B[] 的数组。我有一个构造函数A(B b)。
我想使用它们创建一个类型为A[] 的数组。
我可以使用 for 语句来做到这一点,但我想知道是否有更方便(更短)的方式来做到这一点。 (语言语法、静态方法等)
public class A {
public A(B b) {
A.a = B.a;
A.b = B.b * B.c;
...
}
}
public class B {
...
}
public class C {
public static B[] getBs() {
B[] bs;
...
return bs;
}
}
void process() {
// From here
B[] bs = C.getBs();
A[] as = new A[bs.length];
for (int i=0; i<bs.length; i++) {
as[i] = new A(bs[i]);
}
// To here
}
【问题讨论】:
-
您解释这两个数组如何相关的逻辑对我来说非常粗略。也许是我,但如果你没有得到好的答案,请考虑澄清一下。例如,这是什么意思:
A.b = B.b * B.c;?为什么在 A 的构造函数主体中使用类型 B 而不是参数 b?A.c会是什么? A.b 如何是一个数组项?最后也是最重要的是,请发布真实代码,而不是可能代码,这似乎是您在此处发布的内容。 -
是的,请尝试发布真实代码。如果我们能够准确地看到您正在尝试做的事情,而不是看到您可能正在考虑的事情,我们或许能够提供更多帮助。
标签: java arrays constructor