我使用的方法在該行:運行時錯誤(「|」)
f.getCmbAttori().getSelectedItem().toString().split("|")
與像輸入「13 |伊爾SIGNORE阿布魯Anelli」和insted的回報:
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();
使用'split(「\\ |」)「'。 –
'「|」'是一個特殊的正則表達式字符。如果你真的想分割''|''use'.split(「\\ |」);' –