(Потенциально странное) поведение с длинным приращением?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 (Потенциально странное) поведение с длинным приращением?

Сообщение Anonymous »

Мне немного неловко задавать этот вопрос, но результат следующего фрагмента кода поставил меня в тупик:

Код: Выделить всё

System.out.println("incrementResultResponses() has been invoked!");
final long oldValue = resultResponses;
final long newValue = resultResponses++;
System.out.println("Old value = " + oldValue);
System.out.println("New value = " + newValue);
Это выведет следующее:

Код: Выделить всё

incrementResultResponses() has been invoked!
Old value = 0
New value = 0
Почему? Будет ли параллелизм иметь какое-либо влияние на результат? Кстати, resultResponses — длинный.

Подробнее здесь: https://stackoverflow.com/questions/916 ... t-behavior
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»