Estoy desarrollando un programa java para clase y tengo algunas restricciones que me están matando. Tengo que leer un archivo y guardar sus palabras en una lista, y luego guardar esa lista para poder sacar palabras de ella.
Tengo que leer el archivo y seleccionar n palabras de la lista, y devolver esas palabras, no la lista completa. Mi pregunta es: ¿hay alguna forma de crear la lista completa como global o externa, para que todos los métodos puedan acceder a ella, sin necesidad de ser un parámetro? Necesito modificar la lista completa, eliminar las palabras que necesito y luego usarla nuevamente en otros métodos.
Gracias :)
Puede hacer que una variable miembro en una clase sea public y static , y de esa manera puede acceder a ella desde cualquier lugar:
public class One { public static List<String> names = new ArrayList<>(); } public class Two { public void addName(String name) { One.names.add(name); } } public class Three { public void printTheNames() { System.out.println(One.names); } }Sin embargo...
Estas restricciones (como ninguna forma de crear verdaderas variables globales) existen por una buena razón, y no porque a Java le falten funciones. Si tiene problemas con estas restricciones, entonces eso es una señal de que está tratando de hacer las cosas de manera incorrecta: significa que el diseño de su programa tiene problemas.
Casi siempre, las variables globales son malas .
Puede obtener una variable accesible globalmente convirtiéndola en una estática pública . Sin embargo, en términos de principios de diseño, esto generalmente es una mala idea porque tiende a generar dependencias desenfrenadas que son difíciles de reemplazar más adelante.