Справка по кодированию (если заявления) - PullRequest
1 голос
/ 25 марта 2019

Допустим, у меня есть пример кода, что-то вроде этого

public double {method} ()
{
if (stringThatCalledThisMethod.equalsIgnoreCase("x")) // x = A String
{
return 100 ;
}
else if (stringThat....equalsIgnoreCase("y"))         // y = A String
{
return 999 ;
}

Как бы я вызвал строку, которая вызывает этот метод? (В этомэкземпляр любой строки может вызывать метод, и он всегда будет другим)

(при использовании this не работает, так как я получаю сообщение об ошибке «Не удается найти Symbol | symbol: method equalsIgnoreCase (String»))

Я пытаюсь преобразовать строку в двойное (Не уверен, что есть более простой способ)

Ответы [ 2 ]

0 голосов
/ 25 марта 2019

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

String callerMethodName = Thread.currentThread().getStackTrace()[2].getMethodName();

Обратите внимание, что вам может понадобиться заменить 2 на 1.

Другим способом может быть отправка имени метода в качестве параметра в вашем втором методе, например: -

public double method2(String callerMethodName){

}
0 голосов
/ 25 марта 2019

Чтобы преобразовать строку в double, должен выполнить следующий код:

public double doubleString(String text){

        return Double.parseDouble(text);

}

Возможно, вы захотите перехватить NumberFormatException , чтобы обработать случай недопустимого значения для преобразования в Double.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...