«Числовое переполнение в выражении» при использовании ресурсов android-studio - PullRequest
0 голосов
/ 06 февраля 2019

Я объявил два целочисленных ресурса как:

<resources>
    <integer name="COLUMNS">5</integer>
    <integer name="ROWS">4</integer>
</resources> 

Когда я пытаюсь вычислить итоговое количество ячеек (на основе 0), вот так:

R.integer.COLUMNS * R.integer.ROWS-1

Я получаюпредупреждение Numeric overflow in expression

Может кто-нибудь объяснить мне, почему это предупреждение возникает и является ли оно действительным или даже опасным (сбой, переполнение буфера и т. д.)?


Android Studio 3.3 Build #AI-182.5107.16.33.5199772, построено 25 декабря 2018 г. JRE: 1.8.0_152-release-1248-b01 amd64 JVM: 64-битная виртуальная машина OpenJDK от JetBrains sro Windows 10 10.0

1 Ответ

0 голосов
/ 06 февраля 2019

R.integer.COLUMNS - это целое число id ресурса, а не значение ресурса.Вы можете получить значение ресурса с помощью:

getResources().getInteger(R.integer.COLUMNS)
...