Почему в моем проекте не работают toDouble и toInt - PullRequest
0 голосов
/ 16 июня 2020

enter image description here

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

Полный класс TypeHelper: -

    class TypeHelper{

  int toint(num val){
    if(val is int){
      return val;
    }else{
      return val.toInt();
    }
  }

  double toDoub(num val){
    if(val is double){
     return val;
    }else{
      return val.toDouble();
    }
    }


}

1 Ответ

0 голосов
/ 16 июня 2020

Ошибка говорит о том, что вы вызываете toInt() для нулевого объекта. Я предполагаю, что вы объявили объект TypeHelper без его инициализации.

Вместо этого вы можете сделать оба метода static. Так вы сможете позвонить по номеру TypeHelper.toInt(). Вы даже можете избавиться от класса TypeHelper и объявить методы как функции верхнего уровня.

Или вы можете расширить тип num новыми методами. Для этого см. Способы расширения

...