Sobes.tech
Junior

რის საფუძველზე უნდა გაკეთდეს hashCode, თუ equals ჩვენ გვაკმაყოფილებს?

sobes.tech AI

პასუხი AI-სგან

თუ მეთოდი equals უკვე განსაზღვრულია და სწორად მუშაობს, მაშინ hashCode უნდა იყოს დაფუძნებული იმავე ველებზე, რომლებიც მონაწილეობენ equals-ის შედარებაში. ეს აუცილებელია, რათა დაიცვას შეთანხმება equals და hashCode შორის: ობიექტები, რომლებიც თანხვედრაში არიან equals-ის მიხედვით, უნდა ჰქონდეთ ერთნაირი hashCode.

მაგალითად, თუ equals შედარებს id და name ველებს, მაშინ hashCode უნდა გამოითვალოს ამავე ველებზე:

@Override
public int hashCode() {
    return Objects.hash(id, name);
}