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
:)
目前我正在从 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
:)