java
1 String[] arrayStr1 = { "hoge", "fuga" }; 2 String[] arrayStr2 = { "hoge", "fuga" }; 3 4 System.out.println(arrayStr1.toString()); 5 System.out.println(arrayStr2.toString()); 6 7 List<String> strList1 = new ArrayList<String>(); 8 strList1.add("hoge"); 9 strList1.add("fuga"); 10 List<String> strList2 = new ArrayList<String>(); 11 strList2.add("hoge"); 12 strList2.add("fuga"); 13 14 System.out.println(Integer.toHexString(strList1.hashCode())); 15 System.out.println(Integer.toHexString(strList2.hashCode()));
結果
arrayStr1:[Ljava.lang.String;@15db9742
arrayStr2:[Ljava.lang.String;@6d06d69c
strList1:61db625
strList2:61db625
リストは同じですが、配列のhashコードが異なります。
なぜ異なるのでしょうか?
また、変数名を変えてもhashコードが変わりませんでした。
hashコードの生成のルールについてもご教示いただきたいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/07 04:35 編集
2019/09/07 04:48