优化一下上面的代码加上空值判断
时间: 2023-09-04 19:15:28 浏览: 74
好的,以下是我优化后的 Java 代码:
```java
/**
* 将 src 字符串的前 n 个字符拼接到 dest 字符串的末尾
* @param dest 目标字符串
* @param src 源字符串
* @param n 要拼接的字符数
* @return 拼接后的字符串
*/
public static String strncat(String dest, String src, int n) {
// 检查输入参数是否为空
if (dest == null) {
dest = "";
}
if (src == null) {
src = "";
}
// 计算 dest 字符串的长度
int len = dest.length();
// 将 src 字符串的前 n 个字符拼接到 dest 字符串的末尾
for (int i = 0; i < n && i < src.length(); i++) {
dest += src.charAt(i);
}
// 返回拼接后的字符串
return dest;
}
```
在上面的代码中,我们添加了对输入参数是否为空的判断。如果输入参数为空,则将其转换为空字符串,避免空指针异常。另外,由于 Java 中的字符串是不可变的,因此在循环中使用字符串的 `+` 运算符仍然会创建大量的对象,影响程序的性能。如果需要对字符串进行频繁的修改操作,建议使用 `StringBuilder` 或 `StringBuffer` 类来实现,这两个类都提供了高效的字符串修改方法。
阅读全文