Измените знак + для строки, которая выполняет то же действие (например, перегрузка оператора) - PullRequest
0 голосов
/ 24 октября 2019

Есть 2 переменные, и мне нужно их суммировать. Но вместо использования знака + я хотел бы изменить его на строку.

double var1 = 1;
double var2 = 2;
String sign = "+"; 

double variable3 = var1 sign var2;

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

Ответы [ 2 ]

1 голос
/ 24 октября 2019

Java не допускает «перегрузку оператора», см. в этом сообщении SO для получения дополнительной информации.

Но вы можете использовать метод для обработки sign следующим образом:

double handleOperation(String sign, double int1, double int2)
{
    if(sign.equals("+")) {
        return int1 + int2;
    }
    else if(sign.equals("-")) {
        return int1 - int2;
    }
    // others

    return 0;
}

double var1 = 1;
double var2 = 2;
String sign = "+"; 

double variable3 = handleOperation(sign, var1, var2);
1 голос
/ 24 октября 2019

В Java нельзя переопределять операторы, как в C ++. Вы можете переопределить только методы.

...