Tak jak w temacie. Mam Arraylist który znajduje się w jednym pliku java i chce go wykorzystać w 2 pliku w tym samym projekcie. Jak to zrobić ? Uprzedzając pytania, tak dopiero się uczę :)
0
1
Tak poglądowo (albo przesyłasz klasę1 jako argument funkcji albo inicjalizujesz w drugiej klasie nowy obiekt typu Klasa1):
plik1:
public class Klasa1 {
private List<String> list = new ArrayList<String>();
public List<String> getList(){
return list;
}
}
plik2:
public class Klasa2 {
public void zrobCosZKlasa1(Klasa1 klasa1){
klasa1.getList();
}
public void utworzNowaKlase1(){
Klasa1 klasa1 = new Klasa1();
klasa1.getList();//tutaj dobieram się do listy z innej klasy
}
}
0
Po zmianach będę się czepiał. Wielokrotnie tłumaczyłem na forum dlaczego kod typu
public void utworzNowaKlase1(){
Klasa1 klasa1 = new Klasa1();
klasa1.getList();//tutaj dobieram się do listy z innej klasy
}
działa niezgodnie z oczekiwaniami, tzn. pobiera pustą listę. W wielu przypadkach, lista tworzona jest lub modyfikowana działaniami użytkownika, a nie jest tworzona w konstruktorze.
Ewentualne tworzenie obiektu klasa1
powinno odbyć się raz, w konstruktorze klasy Klasa2
. Tworzenie to ma sens tylko wtedy gdy obiekt typu Klasa
nie jest tworzony gdzie indziej: np. w metodzie main
klasy Klasa2
bądź w jeszcze innej klasie.