Необязательные параметры в Java - PullRequest
0 голосов
/ 30 января 2020

есть ли способ, если repeat равен "false", тогда я больше не хочу использовать repeat и repeatMode? Вместо перегрузки метод может игнорировать эти параметры?

void task(String title,boolean repeat, String repeatMode){

}

Ответы [ 2 ]

0 голосов
/ 30 января 2020

Я полагаю, что примерно так должно быть структурирование кода, основанное на том, что еще вы просили:

void someMethodThatCallsTheOtherMethods() {
  boolean repeat = true; //or false, whatever it should be
  String title = "SomeTitle";
  String repeatMode = "SomeValue";

  if(repeat) {
    task(title, repeatMode);
  } else {
    task(title);
  }
}

void task(String title) {
  //Do something with title alone
}

void task(String title, String repeatMode) {
  //Do something with title and repeatMode
}

Проверка, какие параметры использовать для метода, должна проверяться до фактического вызов метода. Вы не можете определить это во время самого вызова метода, поэтому используйте ветку logi c, чтобы определить это перед вызовом метода.

0 голосов
/ 30 января 2020

Я думаю, вы находите что-то другое: перегрузка . Это когда у вас есть два или более методов с одинаковым именем и типом возврата, но разными аргументами. Тогда вы можете иметь:

void task(String title){
 // do something
}

void task(String title, repeatMode){
 // do something and repeat in some monner
}

и где-нибудь, когда вы знаете, является ли repeat истинным или нет

if(repeat){
   task(title);
}else{
   task(title, repeatMode);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...