Skip to main content

For(String texto

Hace unos dias conversaba con un amigo sobre la forma de utilizar los ciclos for en Java
ArrayList<String> arrayImports =new ArrayList<String>();

El utilizaba sentencias como estas

 for (int i = 0; i < arrayImports.size(); i++) {
                salida.println(arrayImports.get(i).toString());

            }

Le indique que podía mejorar su código
for(String t: arrayImports)
   salida.prinltn(t);

Comments

Anonymous said…
Yo aún lo mejoraría así

List<String> arrayImports = new ArrayList<String>();

mucho mejor programar contra interfaces, no contra las implementaciones.
Anonymous said…
Lo primero sería definir "mi código es mejor", significa que ¿es mas legible y mantenible? ó ¿Es porque se ejecuta mas rápidamente?. A la pregunta es porque es mas legible, entonces la primera opcion es la mejor,ya que se entiende mejor lo que hace. Y si es porque se ejecuta mas rapidamente, la primera opcion sigue siendo la mejor, JAVA es un lenguaje compilado, y el compilador se encarga de optimizar el código. En resumen nunca recomendaría útilizar: for(String t: arrayImports)
salida.prinltn(t);, No es legible, no es mantenible (no se puede ampliar la sentencia facilmente), y no se ejecuta mas rapido que la anterior. También se puede meter todo el código Java en una sola línea, o codificarlo directamente en código maquina (bytecode), pero para eso está el compilador.
Anonymous said…
Concuerdo con Anonymous. Interfaz i = new ImplementacionInterfaz(); No es lo mismo saber programar en Java que saber orientación a objetos.
Anonymous said…
Concuerdo con la opinión anterior. No es lo mismo saber Java que orientación a objetos. Una buena practica es Interfaz i = new ImplementacionInterfaz();
Anonymous said…
Del mismo modo, programar contra interfaces, depende mucho del entorno. En JME o Android hay recomendaciones de usar directamente la clase instanciada como optimización.

Y en el ejemplo de arrayimports, pongas lo que pongas, será un ArrayList.

Popular posts from this blog

JUnit con DataClassG

JUnit con DataClassG 0. ESQUEMA Services: Por cada beans crearemos una clase Services que se encargará de interactuar con el controller para realizar las operaciones de la base de datos. Se crearan los métodos insert, update,delete y los demas metodos para realizar las diversas operaciones. Test: Se crearán las clases para test de las clases Services. Form: Los formularios para la interactuar con el usuario. ProvinciasServices.java colocamos los métodos, insert, update,delete public class ProvinciasServices {    ProvinciasController provinciasController = new ProvinciasController();    public ProvinciasServices() {    }    public Boolean insert (Provincias provincias){        try{            if(provinciasController.insert(provincias)){              return tru...

Primefaces v13

 La versión nueva de primefaces v13.0 elimina el componente <p:repeat>  Consulte los cambios en  https://github.com/primefaces/primefaces/releases/tag/13.0.0 por lo tanto si necesita una solución similar considere utilizar  <p:carousel>  o  <ui:repeat> En la versión 13 genera una excepción