java getString("SQL database area") - 标记化它?

java getString("SQL database area") - tokenize it?

目前我正在从 SQL 数据库中提取数据 table 不幸的是,一个特定的列包含多个值(特别是一个地址)。所以我试图将这个地址数据 .append 到我程序的 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");
                }

            }

除了它似乎不起作用

StringTokenizer是遗留的class,所以使用没有问题(如docs),但不推荐

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

更详细一点 - 不要使用 builder.append(token + "\n"),有一个更简洁的方法:builder.append(token).append(System.lineSeparator())

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

如果编译器没有正确优化程序,使用 String 串联也会降低程序速度。特别是如果你准备好了 StringBuilder :)