这是我下面代码的一部分。当我使用for循环(注释掉)时,它可以工作。当我使用这个流的时候--它有点工作,但是在我从来没有预料到的方法上表现不好。
        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));
//      }我想我的实现是错的。这里有什么改进的建议吗?谢谢!
发布于 2019-04-26 10:02:06
您可以使用IntStream.range(1, rsmeta.getColumnCount()+1),这将给出从1开始到总计数的列号。
https://stackoverflow.com/questions/55864975
复制相似问题