这是我的代码:
boolean startGameBoolean;
Bundle extras = getIntent().getExtras();
extras.getInt("startGameBoolean");
if (startGameBoolean = true){
counter.start();
}
Eclipse发出警告:“永远不会读取局部变量startGameBoolean”;但它是。 我从另一个意图中得到了布尔值。
我编辑了我的代码,我错过了一些,抱歉!
答案 0 :(得分:10)
不应该是startGameBoolean = extras.getBoolean("startGameBoolean");
吗?
在您提供的代码中,boolean startGameBoolean;
未在任何地方使用。警告意味着虽然你声明了它,但它并没有在它所居住的地块中使用,因此可以(应该)被删除。
修改强>
看到您的添加后,您使用startGameBoolean
,但是您已分配给它,而您应该与之进行比较:
if (startGameBoolean == true){
// ^
counter.start();
}
另外,将getBoolean()
的结果分配给我在第一个语句中写的变量。
答案 1 :(得分:5)
我冒昧地同意Eclipse,它没有被使用。您向我们展示的代码并没有在任何地方使用它。
<强>更新强>
该变量仍未使用,因为您在if
条件下指定;你永远不会比较它(这就是你想要做的事情)。
更改
if (startGameBoolean = true){
到
if (startGameBoolean){
答案 2 :(得分:2)
if (startGameBoolean = true){
应该是..
if (startGameBoolean == true){
..还是更好..
if (startGameBoolean){
答案 3 :(得分:0)
Bundle extras = getIntent().getExtras();
boolean startGameBoolean = extras.getBoolean("startGameBoolean");
这样的东西?您无法使用boolean
获取getInt()
。也许,如果您正在处理int但值为0
和1
。然后,您应该将startGameBoolean
的类型更改为int
并使用getInt()
获取,人们有时会这样做。
答案 4 :(得分:0)
我在Android上遇到了同样的问题。
您看到这些警告说“永远不会读取变量”的原因是因为您正在指定 RIGHT AFTER 创建它。尝试在类的开头创建变量,然后在OnCreate()或在首次创建类时调用的其他适当方法中分配它。
答案 5 :(得分:0)
我遇到类似的错误 ...此行
JLabel label = new JLabel("You have $" + amountInAccount + " in your account.");
我使用快速修复(Ctrl + 1)并选择删除'标签',保留副作用分配......
并且代码变为
new JLabel("You have $" + amountInAccount + " in your account.");