以下のコードで、太字になっている部分なのですが、なぜこの型がIntegerなのかがどうしても腑に落ちません。
wordsという配列の中の要素がStringなので、それをgetしてるのだから、得られる型はStringではないのですか?
IntegerをStringに変えると、コンパイルできず、Integerに変えるようにEclipseで指示させるので、Integerでなければいけないというのは分かるのですが、当たり前ですが、その説明はありません…。
ここを初心者向けに説明して頂けると大変助かります。宜しくお願い致します。
Java
1import java.util.HashMap; 2import java.util.Map; 3 4public class MapRunner { 5 6 public static void main(String[] args) { 7 8 String str = "It is raining today. " + "I hope it will be a nice day tomorrow. "; 9 10 Map<String, Integer> wordOccurance = new HashMap<>(); 11 12 String[] words = str.split(" "); 13 14 for(String word:words) { 15 **Integer number = wordOccurance.get(word);** 16 if(number == null) { 17 wordOccurance.put(word, 1); 18 }else { 19 wordOccurance.put(word, number+1); 20 } 21 } 22 System.out.println(wordOccurance);
回答1件
あなたの回答
tips
プレビュー