java getString(“SQL数据库区域”) - 标记化它?

时间:2015-01-23 14:14:39

标签: java sql tokenize pull

目前我正在从SQL数据库表中提取数据,遗憾的是,一个特定列包含多个值(特别是地址)。所以我试图将这个地址数据添加到我的程序的textArea中,但是我需要打破那里的行,所以我想我可能会尝试对其进行标记,然后.append(.nextToken +“\ n”)除非有更好的方法吗?

这是我的一些尝试性的东西

 try {
            rs = statement.executeQuery(query);

            if (rs.next()) {
                String addressLine = rs.getString("adres");
                StringTokenizer st = new StringTokenizer(addressLine);
                String token = st.nextToken();
                dbNameField.setText(rs.getString("name"));
                dbNazwiskoField.setText(rs.getString("surname"));
                dbAgeField.setText(""+rs.getInt("age"));
                rs.getInt("id");
                while(st.hasMoreTokens()){
                dbAddressField.append(token+ "\n");
                }

            }

除了它似乎没有工作

1 个答案:

答案 0 :(得分:0)

StringTokenizer是遗留类,因此使用它没有问题(如docs中所述),但不建议这样做。

JavaDoc推荐的一个更简单的解决方案是使用String split(String regex)方法并使用foreach循环迭代返回的数组。

还有一个细节 - 请勿使用builder.append(token + "\n"),有一个更清洁的方法:builder.append(token).append(System.lineSeparator())

使用\n取决于平台,因为它不适用于基于unix的系统。

如果编译器没有正确优化它,使用String连接也会降低程序的速度。特别是如果您准备好StringBuilder:)