Всем привет.
Вопрос, как достучаться до массива?
У меня при обращении из класса A я получаю длину массива 0, хотя он заполняется на больше чем 100 элементов. Если вывести содержимое из класса С, пока он его заполняет, то он покажет все содержимое,
Class A {
B b = new B();
C c = new C();
public static void main(){
b.doSmth();
System.out.print(c.getArrayList());
}
}
Class B {
C c=new C();
c.setArrayList(String s);
}
Class C {
private ArrayList list=new ArrayList();
setArrayList(String s){
list.add(s);
}
getArrayList(){
return list.size();
}
}
У вас создается два разных объекта класса C
, поэтому массив пустой.
Ваш код должен выглядеть так:
public class A {
B b;
A(B b) {
this.b = b;
}
public void method() {
b.method();
}
public static void main(String[] args) throws Throwable {
C c = new C();
B b = new B(c);
A a = new A(b);
a.method();
System.out.println(a.b.c.getArrayList());
}
}
class B {
C c;
public B(C c) {
this.c = c;
}
void method() {
c.setArrayList("hello");
}
}
class C {
private ArrayList list = new ArrayList();
public void setArrayList(String s) {
list.add(s);
}
public int getArrayList() {
return list.size();
}
}
Вообще не очень хорошая композиция классов, вам нужно лучше о ней подумать.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Не получается загрузить файлы xls и doc(старый Office) файл загружается, но он пустой и выскакивает сообщение конфлик версийС xlsx и docx все нормально
Gradle 'MyApplication' project refresh failed Error:CreateProcess error=193, %1 не является приложением Win32
У меня есть сервис который получает Equipment по usernameИ в контроллере есть метод, который выводит во View Equipment у роли Manager и Users