В чем разница между правильным решением и моим ?
public static double getSquare(long number) {
       double newNum = (double) (number * number);
       return newNum;
   }
По идее должно работать одинаково, но нет. Чего я не понимаю?