循环通过字母表作为字符串

jsa*_*san 2 java string loops for-loop

我想用for循环遍历字母表并将每个字母添加到我的 HashMap

for(char alphabet = 'A'; alphabet <= 'Z';alphabet++) {
    System.out.println(alphabet);
}
Run Code Online (Sandbox Code Playgroud)

不适合我,因为我HashMap的形式

 HashMap<String, HashMap<String, Student>> hm;
Run Code Online (Sandbox Code Playgroud)

我需要我的迭代器是一个字符串,但是

 for(String alphabet = 'A'; alphabet <= 'Z';alphabet++) {
         System.out.println(alphabet);
 }
Run Code Online (Sandbox Code Playgroud)

不起作用.

基本上,我想这样做:

for i from 'A' to 'Z' do
    hm.put(i, null);
od
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

小智 7

基本上将char转换为字符串,如下所示:

for(char alphabet = 'A'; alphabet <= 'Z';alphabet++) {
    hm.put(""+alphabet, null);
}   
Run Code Online (Sandbox Code Playgroud)

虽然""+字母表效率不高,因为它归结为对StringBuilder的调用

等效但更有效的方法可以

String.valueOf(alphabet)
Run Code Online (Sandbox Code Playgroud)

要么

Character.toString(alphabet)
Run Code Online (Sandbox Code Playgroud)

这实际上是一样的.