我已经声明了两个整数资源:
<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,建于2018年12月25日 JRE:1.8.0_152-release-1248-b01 amd64 JVM:JetBrains s.r.o的OpenJDK 64位服务器VM Windows 10 10.0
答案 0 :(得分:1)
R.integer.COLUMNS
是资源的整数 id ,而不是资源的值。
您可以使用以下方法获取资源的价值:
getResources().getInteger(R.integer.COLUMNS)