Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java getString(“SQL数据库区域”)-标记化它?_Java_Sql_Tokenize_Pull - Fatal编程技术网

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

java getString(“SQL数据库区域”)-标记化它?,java,sql,tokenize,pull,Java,Sql,Tokenize,Pull,目前,我正在从SQL数据库表中提取数据,不幸的是,一个特定列包含多个值(特别是一个地址)。因此,我正在尝试。将此地址数据附加到程序的文本区域中,但我需要打断其中的行,因此我想我可能会尝试将其标记化并添加。附加(.nextToken+“\n”),除非有更好的方法 这是我的一些棘手的事情 try { rs = statement.executeQuery(query); if (rs.next()) { String

目前,我正在从SQL数据库表中提取数据,不幸的是,一个特定列包含多个值(特别是一个地址)。因此,我正在尝试。将此地址数据附加到程序的文本区域中,但我需要打断其中的行,因此我想我可能会尝试将其标记化并添加。附加(.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是一个遗留类,因此使用它(如中所示)没有问题,但不建议使用它

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

还有一个详细信息-不要使用
builder.append(token+“\n”)
,有一个更干净的方法:
builder.append(token.append(System.lineSeparator())

使用
\n
依赖于平台,因为它不能在基于unix的系统上工作


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

终于成功了,我爱你,先生。