Sobes.tech
Junior — Middle

Kuidas tagada klassi välja kuuluvate loendite muutumatust?

sobes.tech AI

Vastus AI-lt

Et tagad nodrošināt nemainīgu sarakstu, kas ir klases lauks Java, jūs varat:

  • Izmantot Collections.unmodifiableList(), lai ietītu maināmo sarakstu, tādējādi ārējie lietotāji to nevar mainīt.
  • Inicializēt lauku ar sarakstu, kas pati ir nemainīga, piemēram, ar List.of() (Java 9+).
  • Padarīt lauku private final un nesniegt metodes, kas maina sarakstu.

Piemērs:

import java.util.Collections;
import java.util.List;

public class MyClass {
    private final List<String> items;

    public MyClass(List<String> input) {
        this.items = Collections.unmodifiableList(input);
    }

    public List<String> getItems() {
        return items;
    }
}

Tādējādi ārējais kods nevarēs mainīt saraksta saturu caur klases lauku.