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 finalun 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.