In Java auf eine Variable in einer anderen Methode zugreifen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Also vorweg. Statisch in Java zu arbeiten ist nur bedingt sinnvoll. Ist dir das bewusst? Man kapselt das meist in Objekten und instanziiert sie.

Deine Frage versteh ich nicht ganz. Du willst auf eine Liste aus der 2. Methode von der Main zugreifen?

Du könntest dafür Felder benutzen. Stichwort Objektorientierung. Dann teilen sich beide Methoden diese variablen. Direkt darauf zugreifen ist nicht möglich.

Du erstellt eine Klasse. Namen müsstest du dir ausdenken jenachdem was es machen soll.

Erste Methode kann dann auf das Feld zugreifen und Methode 2 auch.

Verstehst es ein wenig?

Woher ich das weiß:Studium / Ausbildung – Aktives Studium: Informatik Technischer Systeme

Zwei Lösungsvorschläge:

a) Du legst die Liste in der main-Methode an und übergibst sie an die zweite Methode.

class Example {
  public static void main(String[] args) {
    List<String> words = new ArrayList<>();
    String randomWord = getRandomWord(words);
    int size = words.size();
  }

  private String getRandomWord(List<String> words) {
    /* ... */
  }
}

Sofern die künftige Länge der Liste schon vor Aufruf klar ist, könntest du statt einer Liste auch die Länge in main definieren und übergeben.

b) Du legst die ArrayList als Feld an.

class WordManager {
  private List<String> words = new ArrayList<>();

  public static void main(String[] args) {
    WordManager manager = new WordManager();
    String randomWord = manager.getRandomWord();
    int size = manager.words.size();
  }

  public String getRandomWord() {
    /* get random word from words ... */
  }
}