вторник, 23 июля 2013 г.

Подводные камни в Java

Иногда бывает засада в простых вещах, но которые сложно отловить и отдебажить.
Например, byte:

Java byte     -128..127       8 bits
C#   byte     0..255             8 bits

Это надо учитывать при битовых операциях и при работе с шестнадцатеричными числами.
Скажем, 0xd3 в C# - это 211, а в Java -83

Ещё одна вещь, которая может содержать потенциальную ошибку заключается в том, что если в Java-коде у вас число начинается с 0, то оно преобразуется в восьмеричное число (кто придумал этот бред?). Поэтому, если вы напишете 0123, (предполагая, что это будет десятичное 123), то будьте уверены, что это это будет восьмеричное 123, которое в десятичном виде является числом 173.

Комментариев нет:

Отправить комментарий