دلیل تفاوت مقدار hash و hashCode
سوال
1 2 3 4 5 6 7 8 9 |
سلام. وقت بخیر. بنده تفاوت دو تابع hash و hashCode رو متوجه نشدم. در مثال زیر چرا دو مقدار متفاوت میگیریم: int x=20; System.out.println(Objects.hash(x)); System.out.println(Objects.hashCode(x)); کنسول: ۵۱ ۲۰ |
در حال بررسی
0
انجمن برنامه نویسان جاوا
1 سال
1 پاسخ
136 دیده شده
0
پاسخ ( ۱ )
تفاوت به این دلیل است که Objects::hash یک هش برای توالی از آبجکت ها ایجاد می کند و Objects::hashCode برای یک شئ منفرد. در واقع Objects::hash دارد هش یک آرایه که داخلش یک شئ با مقدار ۲۰ دارد را محاسبه می کند ولی Objects::hashCode فقط هش همان ۲۰ را حساب می کند.