我试图用大写字母拆分字符串,例如当字符串是“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