Java开发中的几个实用小技巧
在日常Java开发中,掌握一些小技巧往往能事半功倍。今天分享几个我个人常用的实践。
1. Optional优雅处理空指针
传统判空常有多层if嵌套,可读性差。Java 8的Optional能让代码更优雅:
// 传统写法
public String getCity(User user) {
if (user != null) {
Address address = user.getAddress();
if (address != null) {
return address.getCity();
}
}
return "Unknown";
}
// Optional写法
public String getCity(User user) {
return Optional.ofNullable(user)
.map(User::getAddress)
.map(Address::getCity)
.orElse("Unknown");
}
2. 字符串拼接慎用加号
循环中拼接字符串,应使用StringBuilder而非加号。加号会在循环中不断创建新对象,影响性能:
// 不推荐
String result = "";
for (int i = 0; i < 1000; i++) {
result += i; // 每次循环都创建新String对象
}
// 推荐
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 1000; i++) {
sb.append(i);
}
String result = sb.toString();
3. try-with-resources自动关闭资源
处理IO流或数据库连接时,try-with-resources能确保资源自动关闭,代码更简洁安全:
// 传统写法需手动close
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader("file.txt"));
// 读取操作
} finally {
if (br != null) br.close();
}
// try-with-resources
try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
// 读取操作,自动关闭
}
这些小技巧虽简单,但在实际项目中合理运用,能显著提升代码质量和开发效率。