我試圖用大寫字母拆分字符串,例如當字符串是「SizeColorSize」時,aoutput數組是:{「Size」,「Color」,「Size」}。這工作正常。現在我想從數組中刪除重複項,這就是爲什麼我使用HashSet,所以我會有[「Color」,「Size」]排序的集合。然後我在MySQL表中打印輸出。HashSet中的額外逗號
但問題是,在輸出中我有一個額外的逗號:[,「顏色」,「大小」]。 任何想法爲什麼這樣?
這是代碼的一部分:
for (int j = 0; j < configPair.size(); j++) {
r = configPair.get(j).split("(?=\\p{Lu})");
for (int i = 0; i < r.length; i++) {
r = new HashSet<String>(Arrays.asList(r)).toArray(new String[0]);
r[i].trim();
Arrays.sort(r);
Set<String> mySet = new HashSet<String>(Arrays.asList(r));
sqlAttributeConfig = "INSERT INTO Config_Attributes (Config_Pairs) VALUES ('"
+ mySet + "')";
System.out.print(r[i]);
}
System.out.println();
r = null;
con.stmt.executeUpdate(sqlAttributeConfig);
}
你爲什麼要通過自己構建SQL來引發SQL注入攻擊?改用準備好的語句。 – 2013-04-24 13:40:56
也許在數組中有一個空字符串。當給定「SizeColorSize」作爲輸入時,「r」的大小是否等於3? – bdkosher 2013-04-24 13:41:53