¿Algún consejo sobre cómo mejorar mi implementación?

Esta es una parte de mi código a continuación. Cuando uso el bucle for (comentado), funciona. Cuando uso esta transmisión, funciona un poco, pero luego se comporta mal en un método que nunca esperaría.

        Spravochnik spr = new Spravochnik();
        ResultSetMetaData rsmeta = rs.getMetaData();
        List<String> columnNames = new ArrayList<>();
        List<List<String>> valuesInRows = new ArrayList<List<String>>();
        int columnCount = rsmeta.getColumnCount();

        IntStream.range(0, rsmeta.getColumnCount()).forEach(i -> {
            try {
                columnNames.add(rsmeta.getColumnName(i));
            } catch (SQLException e) {
                e.printStackTrace();
            }
        });

//      for(int column = 1; column <= columnCount; column++){
//          columnNames.add(rsmeta.getColumnName(column));
//      }

Supongo que solo tengo mi implementación incorrecta. ¿Algún consejo para mejorar aquí? ¡Gracias!

Respuesta 1

Debe tener cuidado con los números incluidos en el bucle o la transmisión y qué números no.

Tenga en cuenta que el primer número siempre es inclusivo y, dado que realiza un bucle desde 1, también desea iniciar Streamdesde 1:

IntStream.range(1, rsmeta.getColumnCount()).forEach(i -> {
    // ...
});

Finalmente, el beneficio del Streamuso aquí es bastante cuestionable. En realidad, no hay ningún beneficio en absoluto. Recomiendo seguir con for-loopeste caso de uso:

for (int column = 1; column <= columnCount; column++) {
    columnNames.add(rsmeta.getColumnName(column));
}
Respuesta: 2

Todas las guías por ahí me dicen cómo eliminar las etiquetas HTML del texto para extraer el texto entre ellas. Lo que busco es la extracción de los datos que están dentro de las etiquetas HTML. p.ej ...

Estoy creando un efecto de desenfoque de movimiento deficiente para mi motor de juego, y tengo un conjunto de imágenes de cinco índices que llamé MotionBlur []. Cada vez que mi objeto gráfico termina de dibujar en la pantalla, necesito almacenar ...

Estoy escribiendo pruebas unitarias y encuentro un problema con el generador: Aquí está la clase que se va a probar: public class ToBeTest () {public void enact (SomeInput input) {Session s = Session.builder () ....

Estoy tratando de realizar la autenticación implícita utilizando la biblioteca HttpClient, pero sigo obteniendo: HTTP / 1.1 401 no autorizado. Cuando intento la solicitud de Firefox funciona bien y recibo una respuesta ...