使用StringBuffer实现两个字符的拼接
实现的功能:
将一个char数组中每一个字符与一个特殊字符拼成一个字符串后赋值给String数组中对应下标元素
public static void customCopyChars(char[] source, String[] destination, int flag){
char specialCharacters;
if(flag == 0){
specialCharacters = '@';
}else if (flag == 1){
specialCharacters = '*';
}else {
specialCharacters = '&';
}
for (int i = 0; i < source.length; i++){
StringBuffer strBuf = new StringBuffer(); // 下划线命名法
strBuf.append(source[i]);
strBuf.append(specialCharacters);
destination[i] = strBuf.toString();
System.out.println("destination[i]: " + destination[i]);
}
for(int j = 0; j < destination.length; j++){
System.out.println(destination[j]);
}
}
其结果如下:
使用+号拼接两个字符会导致的问题
如果直接使用+连接两个字符,会出现如下错误
可以看出,当两个字符使用+连接时,返回的值是int类型。实际上这个值就是两个字符ASCII值相加之后的结果。
尝试将返回来的int类型转成String类型
采用3种将int类型转成String类型的方法
destination[i] = String.valueOf(source[i] + specialCharacters);
destination[i] = Integer.toString(source[i] + specialCharacters);
destination[i] = source[i] + specialCharacters + "";
其结果如下: