相关疑难解决方法(0)

为什么局部变量没有在Java中初始化?

有没有理由为什么Java的设计者觉得局部变量不应该被赋予默认值?说真的,如果实例变量可以给出一个默认值,为什么我们不能对局部变量做同样的事情呢?

它也会导致问题,如本评论中对博客文章的解释:

这个规则在尝试关闭finally块中的资源时最令人沮丧.如果我在try中实例化资源,但尝试在finally中关闭它,我会收到此错误.如果我在try之外移动实例化,我会收到另一个错误,指出它必须在try中.

很沮丧.

java variables initialization

96
推荐指数
7
解决办法
7万
查看次数

Java:"局部变量可能尚未初始化"不够智能?

请考虑以下方法:

void a ()
{
    int x;
    boolean b = false;
    if (Math.random() < 0.5)
    {
        x = 0;
        b = true;
    }
    if (b)
        x++;
}
Run Code Online (Sandbox Code Playgroud)

x++我得到的"局部变量可能尚未初始化"的错误.很明显,x永远不会被初始化.除了初始化x之外,有没有办法抑制警告?谢谢.

java variables compiler-errors initialization local

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

initialization ×2

java ×2

variables ×2

compiler-errors ×1

local ×1