Java 重载hashCode 这段代码为啥报错?应该怎么改?已标出错误地方。

2025-05-14 13:02:30
推荐回答(3个)
回答(1):

cs[i] = new CountedString("hi");//这里说 找不到符号
这里是有问题的,错误信息是说这个构造函数没定义,这个函数是void型,没有返回值就更不能赋值给cs[i]。总之是一个这样的问题,你根据自己的需要改一改。

回答(2):

cs[i] = new CountedString("hi");
你这句是想创建一个CountedString对象,调用它的构造器吗?public void CountedString(String str) 你这个不是构造器啊。是个方法。如果是方法的话,对象 . 方法这么用。
是想要这个结果吗
{String: hi id: 10 hashCode(): 146456=9, String: hi id: 1 hashCode(): 146447=0, String: hi id: 2 hashCode(): 146448=1, String: hi id: 3 hashCode(): 146449=2, String: hi id: 4 hashCode(): 146450=3, String: hi id: 5 hashCode(): 146451=4, String: hi id: 6 hashCode(): 146452=5, String: hi id: 7 hashCode(): 146453=6, String: hi id: 8 hashCode(): 146454=7, String: hi id: 9 hashCode(): 146455=8}
Looking up String: hi id: 1 hashCode(): 146447 valuse==0
Looking up String: hi id: 2 hashCode(): 146448 valuse==1
Looking up String: hi id: 3 hashCode(): 146449 valuse==2
Looking up String: hi id: 4 hashCode(): 146450 valuse==3
Looking up String: hi id: 5 hashCode(): 146451 valuse==4
Looking up String: hi id: 6 hashCode(): 146452 valuse==5
Looking up String: hi id: 7 hashCode(): 146453 valuse==6
Looking up String: hi id: 8 hashCode(): 146454 valuse==7
Looking up String: hi id: 9 hashCode(): 146455 valuse==8
Looking up String: hi id: 10 hashCode(): 146456 valuse==9

回答(3):

你把构造函数方法
public void CountedString(String str){
}
的void去掉就ok了