java getString(“SQL数据库区域”)-标记化它?
目前,我正在从SQL数据库表中提取数据,不幸的是,一个特定列包含多个值(特别是一个地址)。因此,我正在尝试。将此地址数据附加到程序的文本区域中,但我需要打断其中的行,因此我想我可能会尝试将其标记化并添加。附加(.nextToken+“\n”),除非有更好的方法 这是我的一些棘手的事情java getString(“SQL数据库区域”)-标记化它?,java,sql,tokenize,pull,Java,Sql,Tokenize,Pull,目前,我正在从SQL数据库表中提取数据,不幸的是,一个特定列包含多个值(特别是一个地址)。因此,我正在尝试。将此地址数据附加到程序的文本区域中,但我需要打断其中的行,因此我想我可能会尝试将其标记化并添加。附加(.nextToken+“\n”),除非有更好的方法 这是我的一些棘手的事情 try { rs = statement.executeQuery(query); if (rs.next()) { String
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是一个遗留类,因此使用它(如中所示)没有问题,但不建议使用它 JavaDoc推荐的一个更简单的解决方案是使用
split(stringregex)
方法,并使用foreach循环迭代返回的数组
还有一个详细信息-不要使用builder.append(token+“\n”)
,有一个更干净的方法:builder.append(token.append(System.lineSeparator())
使用\n
依赖于平台,因为它不能在基于unix的系统上工作
如果编译器没有正确优化程序,使用
String
串联也会降低程序的速度。特别是如果你有一个StringBuilder
准备就绪:)终于成功了,我爱你,先生。