0
調試的foreach,當我有這樣的代碼:誤差的Hashmap
for (RoomProperties RP : roomHashMap.values()) {
canvas.drawRect(RP.left, RP.top, RP.right, RP.bottom, snowWhite);
}
它的正確編譯。但是矩形根本不會被繪製,所以我進入調試模式,果然有這些錯誤:
RP.left找不到局部變量「RP」 RP.right找不到局部變量「RP」
現在,這實際上令人困惑。假設我沒有得到每個權利,但爲什麼編譯和運行?
什麼是foreach的正確方法和編譯器不報告錯誤的問題(我可能忽略了警告)?
它與gradle有什麼關係? – Opal
對不起,我認爲gradle是一個在android studio中使用的綜合編譯器... – VictorCharlie23
Like Per Huss寫道,那就是調試器找不到有關變量名稱的信息。一個(最近的)標準的Android Studio項目,就像Version 2.0+一樣,只要你能自動[構建調試變體](https://developer.android.com/studio/run/index.html#changing-variant)不要明確地構建版本或修改配置。某些Gradle配置可能會出現一些問題..但是如果沒有更多的信息很難說清楚。這[有關使用Android Studio進行調試的問題](https://stackoverflow.com/q/37142275/3828957)可能會很有趣。 – makadev