问题描述
我遇到了这段代码,它使用 .toCharArray() 创建一个字符串的哈希码,稍后将用于在 HashMap 中存储数据。
public static int generateHashCode(String s) {
int code = 0;
for(char next_character: s.toCharArray()) {
code += next_character;
}
return code;
}
我从这段代码中了解到,它使用增强的 for 循环遍历字符串(Made 数组)的每个字符。我不明白的是它如何将这些“字符”添加到“整数”代码中。我将代码更改为只打印 next_character 并打印字符串的所有单个字符。
解决方法
这里发生的是 char 被提升为 int,它的值将等于 ASCII 值。