打卡打卡
Topic source你好,我看了你的评论,我去做了个测试,也不知道对不对,
我看打印的日志,join的方法也没有比for效率有多大的提升,还请你讲解讲解。
// 使用for循环的方式。
static String buildInsertSql(String table, String[] fields) { StringBuilder sb = new StringBuilder(1024); sb.append("INSERT INTO ").append(table + " ("); System.out.println(System.currentTimeMillis()); for (String s: fields) { sb.append(s); if (!s.equals(fields[fields.length-1])) { sb.append(", "); } } System.out.println(System.currentTimeMillis()); sb.append(") VALUES (?, ?, ?)"); return sb.toString(); }
// 打印的日志:
1567241325962
1567241325962
INSERT INTO employee (name, position, salary) VALUES (?, ?, ?)
测试成功
// 使用join的方法
static String buildInsertSql(String table, String[] fields) {
StringBuilder sb = new StringBuilder(1024);
sb.append("INSERT INTO ").append(table + " (");
System.out.println(System.currentTimeMillis());
sb.append(String.join(", ", fields));
System.out.println(System.currentTimeMillis());
sb.append(") VALUES (?, ?, ?)");
return sb.toString();
}
// 打印日志:
1567241633179
1567241633180
INSERT INTO employee (name, position, salary) VALUES (?, ?, ?)
测试成功
- 1
xiao伟iii
借鉴了@Angular2club 说的 String.join("", fields); 确实效率了好多: