Java StringのhashCode値は(String.hashCode())として計算されます。
s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
次の式がfalseと評価される状況(JVMバージョン、ベンダーなど)はありますか?
boolean expression = "This is a Java string".hashCode() == 586653468
更新#1:「はい、そのような状況があります」と答えた場合は、「これはJava文字列です」という具体的な例を挙げてください。hashCode()!=586653468。具体的/具体的になるようにしてください。できるだけ。
アップデート#2:一般に、hashCode()の実装の詳細に依存することは悪いことです。ただし、私は特にString.hashCode()について話しているので、答えをString.hashCode()に集中させてください。Object.hashCode()は、この質問のコンテキストではまったく無関係です。