Преобразование Java в Integer? - PullRequest
       47

Преобразование Java в Integer?

1 голос
/ 21 декабря 2011

Интересно, есть ли способ сделать собственное преобразование в целое число в Java.Я имею в виду решение, сравнимое с реализацией преобразования строк (toString).Я хочу, чтобы мой класс интерпретировался как целое число в уравнении без вызова специальной функции.

class MyClass(){
   private int number;

   MyClass(int n){
      this.number = n; 
   }

   public int toInteger(){
       return number
   }
}

использование:

MyClass a = new MyClass(2);
int result = 1+a;

результат будет равен 3.

Ответы [ 4 ]

3 голосов
/ 21 декабря 2011

Java не допускает перегрузку / переопределение операторов. Вы не можете сделать это.

2 голосов
/ 21 декабря 2011

Вы описываете перегрузку оператора , и это невозможно в Java. Самым близким будет подкласс Number , но + не работает с ним. Для String s + работает, потому что это было встроено в качестве особого случая в языке. Нет способа расширить + для работы с чем-либо еще.

Конечно, с вашим классом, int result = 1 + a.toInteger(); работает. Просто немного дополнительной работы.

0 голосов
/ 21 декабря 2011

Это не может быть сделано в Java. Если вам достаточно любопытно, проверьте этот пост Почему Java не предлагает перегрузку операторов? , которая объясняет, почему этого нельзя сделать, и сравнивает подходы java и c ++

0 голосов
/ 21 декабря 2011

Java не C ++, вы не можете перегружать операторы, такие как '+' в Java

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