Является ли ошибкой расширяющее принудительное приведение типов?
Для того чтобы не закладывать на заведомо небольшие переменные бОльшую размерность и чтобы не получить проблем неявного преобразования в выражении, есть ли возможность решать эту проблему путем приведения самого выражения к нужному типу?
В данном случае все переменные остаются типа int, а строчка вычисления дистанции выглядит как:
long distance = (long) speed * seconds;
Результат выводит верный, но возможно есть какие-то подводные камни, которые я могла не учесть?
public class Var {
public static void main(String[] args) {
int days = 1000;
int speed = 300000;
int seconds = days * 24 * 60 * 60;
long distance = (long) speed * seconds;
System.out.println(distance);
}
}