java - .split ("|"中的运行时错误)

标签 java arrays string split runtime-error

我在该行中使用了该方法:

f.getCmbAttori().getSelectedItem().toString().split("|")

输入如“13|Il Signore degli Anelli”并返回:

f.getCmbAttori().getSelectedItem().toString().split("|")[0] = "13"
f.getCmbAttori().getSelectedItem().toString().split("|")[1] = "Il Signore degli Anelli"

它返回一个数组,其中每个字符都是单独的,如下所示:

    f.getCmbAttori().getSelectedItem().toString().split("|")[0] = ""
    f.getCmbAttori().getSelectedItem().toString().split("|")[1] = "1"
    f.getCmbAttori().getSelectedItem().toString().split("|")[2] = "3"
    f.getCmbAttori().getSelectedItem().toString().split("|")[3] = "|"
    f.getCmbAttori().getSelectedItem().toString().split("|")[4] = "I"
    f.getCmbAttori().getSelectedItem().toString().split("|")[5] = "l"
[...]

    f.getCmbAttori().getSelectedItem().toString().split("|")[25] = "l"
    f.getCmbAttori().getSelectedItem().toString().split("|")[26] = "i"

这怎么可能?我以错误的方式编写此方法?这是我使用它的一段代码:

PreparedStatement stmSql = null;
                 int risultato = 0;                  
                 stmSql = f.conn.prepareStatement("insert into recita (CodAttore, CodFilm) values (?, ?)");
                 stmSql.setInt(1, Integer.parseInt(f.getCmbAttori().getSelectedItem().toString().split("|")[1]));
                 stmSql.setInt(2, Integer.parseInt(f.getCmbFilmRecita().getSelectedItem().toString().split("|")[1]));
                 risultato = stmSql.executeUpdate();

最佳答案

String.split 函数接受一个正则表达式,尝试使用这个:

split("\\|")

这将使它按文字拆分 |

关于java - .split ("|"中的运行时错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20549573/

相关文章:

java - 矩阵乘法-java中的双数组计算

php - 如何在php中打印多维数组

c - 如何通过一次在数组中取出 2 个项目来将权重添加到 sack 中?

vb.net - 从文本中提取目录字符串

c# - 创建串联字符串的性能

javascript - 如何切片 String 对象直到它到达 "/"标记?

java - Spring Boot + AWS Linux + Oracle 数据库

java - 如何从 Java 编写的文件中读取 C 语言的数据(二进制或文本)?

java - Java错误,请帮助我

java - Android 无法找到我的 JNI native 库函数