今天在学习廖雪峰老师的Java教程StringJoiner\StringBuilder 等核心类过程中有所感悟
今天学习了StringBuilder 和 StringJoiner两个核心类,用于字符串的拼接。
课后练习为请使用StringJoiner构造一个SELECT语句:
我的代码:
import java.util.StringJoiner;
import java.util.Arrays;
public class Test {
public static void main(String args[]) {
String[] fields = { "name", "position", "salary" };
String table = "employee";
String select = buildSelectSql(table, fields);
System.out.println(select);
System.out.println("SELECT name, position, salary FROM employee".equals(select) ? "测试成功" : "测试失败");
}
static String buildSelectSql(String table, String[] fields) {
var join = new StringJoiner(", ", "SELECT "," FROM "+table);
for(String name: fields) {
join.add(name);
}
return join.toString();
}
}
也能运行正常,但是看了一下评论区学友的答案感觉,自己不会学习
static String buildSelectSql(String table, String[] fields) {
return String.format("SELECT %s FROM %s", String.join(", ", fields), table);
}
简简单单的一行代码,只是结合了上一节学习的String类固有的format()函数。
所以有一些小感悟:
在学习过程中,不光是这一小节的知识要吸收,也要想想以前学习的内容是否可用,这也就要求了我对知识要更加熟悉,还要举一反三。对于我来说还是比较困难的,需要多联系,多看,多想。学习别人的想法,也是极好的。学而不思则罔,思而不学则殆。