Я новичок в Java. В целях обучения я пытаюсь создать себе приложение для игры в шахматы. В моем классе Case, который будет использоваться для создания экземпляров всех 64 корпусов моей доски, я пишу методы get / set, чтобы определить, есть ли в экземплярах корпуса обитатель Piece.
Я прочитал, что возвращать «ноль» - это плохая практика, поэтому вместо этого я выбрасываю исключение, чтобы показать, что случай свободен. Но мне интересно, как установить указатель пассажира на «ноль»; Могу ли я просто нажать «ноль» в качестве параметра, когда я вызову этот метод?
Кроме того, может ли принятие / возврат «ноль» быть приемлемой / хорошей практикой?
public Piece getOccupant(){
if (this.occupant == null)
throw new IllegalArgumentException(this.occupant + " is Empty");
return this.occupant;
}
public void setOccupant(Piece newOccupant){
this.occupant = newOccupant;
}
Спасибо!
[Обновление]
Спасибо всем за ваши комментарии, идеи, исправления и рекомендации. Вот обновленная версия моего кода для этой части, и я чувствую себя довольным этим, поскольку он выполнил свою задачу (улучшите мое понимание с помощью практики).
/*
* Modifiers of Occupant
*/
/**
* Used to find if a Piece is located in this Cell
* @return a Piece reference to the occupant. Will send a
* null pointer if cell is empty
*/
public Piece getOccupant(){
return this.occupant;
}
/**
* Used to set a new occupant in the Cell.
* @param newOccupant is a reference to a Piece instance,
* and should be set to null if the cell is emptied, or using
* the method clear().
*/
public void setOccupant(Piece newOccupant){
this.occupant = newOccupant;
}
/**
* Used to verify if a Cell is empty of any occupant
* @return true if cell is empty.
*/
public boolean isEmpty(){
if(this.occupant == null)
return true;
return false;
}
/**
* Free the cell of any occupant, if any were
*/
public void clear(){
this.occupant = null;
}