String.valueOf&StringBuilder.append传入不同类型参数,但是指相同的参数时,不同的表现

 

在做力扣的时候,如果待处理字符串仅包含小写字母,我们可以使用一个int[26]的数组来代替hashmap,进而来统计次数啥的,都有不错的效果

然而在做返回处理时我们要根据遍历数组的下标i来返回对应的字符,如(0,1,2,3...对应a,b,c,d),所以自然而然会想到(’a‘+i)的形式,然后这里发生了隐式转换,即(’a‘+i)为整形,所以出错了

 

观察到jdk源码才发现String.valueOf方法是一个重载的方法,根据不同的实参调用不同的方法,所以我们根据i拼接不同的字符,用(char)(’a‘+i)来处理

 

posted @ 2022-11-13 11:20  huangs154  阅读(36)  评论(0)    收藏  举报