Почему переполнение происходит от меньшего к большему числу?

Я получил ту же ошибку (SCRIPT7002: XMLHttpRequest: Network Error 0x80004004, Operation aborted), в нашем случае это было из-за той же политики происхождения JavaScript.

На нашем веб-приложении был запущен вызов JQuery AJAX на наш сервер в порту 8080. Звонок перехватывался и перенаправлялся через SSL (из-за правил сервера, в соответствии с которыми входящий трафик использует SSL).

Как только мы сделали загрузку веб-приложения через порт SSL, проблема была исправлена.

0
задан Dog 17 February 2019 в 22:45
поделиться

1 ответ

В Java всякий раз, когда вы вычисляете два числа, вычисление будет выполняться с использованием более крупного типа. Результатом также будет больший тип. Но для этого не имеет значения, каковы значения этих типов.

Например:

1L + 1L

будет производить long со значением 2.

Но ваш пример:

2147483647 + 1

даст int со значением -2147483648. Поскольку оба int, они останутся int.

Таким образом, чтобы сделать long так, как вы хотите, вы должны:

2147483647 + 1L

получить long со значением 2147483648.

0
ответ дан Angelo Fuchs 17 February 2019 в 22:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: