我在该行中使用了该方法:
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/