У меня есть массив с типом 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;'? Почему вы используете тип, B, в корпусе конструктора A, а не в параметре b? Что будет 'A.c'? Как элемент A.b является элементом массива? И, наконец, и самое главное, пожалуйста, напишите * настоящий * код, а не * sort-of maybe * code, который, по-видимому, является тем, что вы публикуете здесь. –
Да, пожалуйста, постарайтесь опубликовать реальный код. Мы можем помочь больше, если мы сможем увидеть именно то, что вы пытаетесь сделать, вместо того, чтобы видеть то, что вы, возможно, думаете об этом. – Bmize729