如果没有覆盖hashCode()方法,那么在Java中的任何对象上调用hashCode()的结果是什么?
是否可以使用java的哈希码函数为不同的字符串使用相同的哈希码?或者如果可能的话,它的可能性百分比是多少?
用Java编写的现有系统使用字符串的哈希码作为其负载平衡的路由策略.
现在,我无法修改系统,但需要生成共享相同哈希码的字符串以测试最差条件.
我从命令行提供这些字符串,并希望系统将所有这些字符串路由到同一目的地.
是否可以生成共享相同哈希码的大量字符串?
要明确这个问题:
String[] getStringsInSameHashCode(int number){
//return an array in length "number"
//Every element of the array share the same hashcode.
//The element should be different from each other
}
Run Code Online (Sandbox Code Playgroud)
备注:任何hashCode值都可以接受.字符串是什么没有约束.但它们应该彼此不同.
编辑:String类的重写方法是不可接受的,因为我从命令行提供这些字符串.
仪表也是不可接受的,因为这会对系统产生一些影响.