Параметры и тип byte

117
15 июля 2021, 23:40

Почему я получаю ошибку компиляции?
Среда разработки подсказывает, что нужно сделать тип возвращаемого значения int. byte, short в типе возвращаемого значения не работают, как так? Объясните пожалуйста.

  public byte sum(byte a, byte b) {
          return a + b;
      }
Answer 1

Тип выражения (byte + byte) = int.

Так сделано, чтобы избежать переполнения разрядной сетки. Поэтому компилятору надо явно сказать "я знаю, что переполнения не будет, не волнуйся" через явное приведение к типу:

return (byte) (a + b);

Либо, поменять тип функции на int, если вы не уверены, что переполнения после сложения a+b не будет.

READ ALSO
Запись звука в android

Запись звука в android

Я новичок в этом деле, но может кто подскажет есть ли возможность записи звука в Android, чтобы не использовать MediaRecorderAudioSource

100
Как выровнять элементы по горизонтали? Менеджеры компоновки Java

Как выровнять элементы по горизонтали? Менеджеры компоновки Java

Нужно расположить надписи и поля вот так:

145
Обращение к ключу массива через квадратные скобки

Обращение к ключу массива через квадратные скобки

Помогите разобраться почему такой код выдает true

282