提升代码质量的五个Java实用技巧
日常开发中,掌握一些小技巧能显著提升代码质量和开发效率。今天分享五个实战经验。
1. 巧用Optional避免空指针
// 不推荐
if (user != null) {
Address address = user.getAddress();
if (address != null) {
String city = address.getCity();
// ...
}
}
// 推荐
Optional.ofNullable(user)
.map(User::getAddress)
.map(Address::getCity)
.ifPresent(city -> // 处理城市);
2. 使用Stream简化集合操作
传统循环冗长易错,Stream让代码更简洁:
List<String> names = users.stream()
.filter(User::isActive)
.map(User::getName)
.sorted()
.collect(Collectors.toList());
3. 利用try-with-resources自动关闭资源
Java 7引入的特性,确保资源正确关闭:
try (Connection conn = getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery()) {
while (rs.next()) {
// 处理结果
}
} catch (SQLException e) {
log.error("数据库操作失败", e);
}
4. 枚举实现单例模式
枚举单例简洁且线程安全,还能防止反序列化创建新实例:
public enum DataSource {
INSTANCE;
private final ConnectionPool pool;
DataSource() {
pool = new ConnectionPool();
}
public Connection getConnection() {
return pool.getConnection();
}
}
5. 使用StringBuilder处理字符串拼接
循环中拼接字符串,StringBuilder性能远优于直接用加号:
StringBuilder sb = new StringBuilder();
for (String item : items) {
sb.append(item).append(",");
}
String result = sb.toString();
以上技巧代码更简洁、健壮且易维护。工作中多实践这些技巧,能写出高质量的Java代码。