Я как-то наткнулся на это сегодня, когда писал код. В качестве примера возьмем следующее:
long valueCast = (long)(10 + intVariable);
long valueTyped = 10L + intVariable;
Есть ли разница между этими двумя или они скомпилированы точно так же? Есть ли соглашение для одного над другим?
Итак, я знаю, что это не критический вопрос (оба работают). Мне просто очень интересно узнать, какие отличия могут быть!
EDIT. Изменен пример кода, который будет ближе к моему первоначальному сценарию. Я хотел, чтобы вопрос был ясен, поэтому я заменил переменную константой. Не понял, что компилятор автоматически выполнил арифметику (тем самым изменив ответы на этот вопрос)