How can i fix this equals on primitive type(int)

后端 未结 3 1677
梦毁少年i
梦毁少年i 2020-12-11 12:25

heres my code for a library application

package com.accenture.totalbeginner;

public class Person {
  private String name;
  private int maximumbooks;

  pub         


        
相关标签:
3条回答
  • 2020-12-11 12:41

    getMaximumbooks() returns a primitive type int not an Object. You have to compare it with == or in you case != (not equals)

    if (this.getMaximumbooks() != p1.getMaximumbooks())
    {
        return false;
    }
    return true;
    
    0 讨论(0)
  • 2020-12-11 12:54

    Just use == if you're comparing primitives.

    Also, try not to use getters when working into the class because you have already access to all the fields (private or not).

    public boolean equals(Person p1)
    {
        return this.maximumBooks == p1.getMaximumBooks();
    }
    
    0 讨论(0)
  • 2020-12-11 13:02

    equals() is used for Objects (String, Integer, etc...)

    For primitives like int, boolean, char etc, you have to use ==

    0 讨论(0)
提交回复
热议问题