无法在 if 语句中更改变量值???爪哇

弗洛法

我正在尝试在系统托盘中为我的通知制作请勿打扰功能,并且我正在尝试制作一个 if 语句,如果变量出现,dnd = false然后将系统托盘名称更改为“请勿打扰 - on”并设置dnd为 true else setdnd = false但根据dnd = true;dnd = false;它有一个红色的线,并说“局部变量DND在封闭范围内定义必须是最终或有效决赛”,我不知道该怎么做。请帮忙。
这是我的代码:

boolean dnd = false;
doNotDisturb.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {  
        if (dnd == false) {
            dnd = true;
            doNotDisturb.setName("Do Not Disturb - on");
        } else {
            dnd = false;
        }
    }
});
欧内斯特_k

变量dnd必须是最终的或有效的最终(这是这种情况)。这就是为什么您可以从闭包上下文中引用它的原因。编译器不希望您dnd从闭包或匿名类中重新分配

您可以通过以下任一方式解决问题

  1. 将 dnd 包装在一个对象中:

    DndConfig dndConfig = new DndConfig();

    在匿名类中:

    dndConfig.dnd = true; //your logic

  2. 制作dnd主类的实例字段。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法在emacs中设置变量值?

来自分类Dev

无法在模型构造函数中分配变量值

来自分类Dev

为什么AngularJS无法识别我的变量值改变了?

来自分类Dev

无法将变量值传输到dsolve?

来自分类Dev

从对象字段更改变量值

来自分类Dev

无法在回调中设置变量值

来自分类Dev

无法从IronRuby更新变量值

来自分类Dev

变量无法在If语句中解析

来自分类Dev

javascript无法从给定参数中获取正确的变量值

来自分类Dev

std :: cout更改变量值

来自分类Dev

在echo语句中打印变量值

来自分类Dev

JS无法更改变量

来自分类Dev

无法捕获状态变量值

来自分类Dev

无法在函数angularjs中更新变量值

来自分类Dev

在echo语句中打印变量值

来自分类Dev

常量更改变量值

来自分类Dev

使用一个switch语句更改变量值

来自分类Dev

用循环更改变量值

来自分类Dev

Gulp任务-无法设置变量值

来自分类Dev

AngularJS-在范围更改时使用if else语句更改变量值

来自分类Dev

PHP-无法在“ if”语句中更改会话变量

来自分类Dev

变量值未在参数中解析并且echo语句无法打印

来自分类Dev

Java if语句更改变量值

来自分类Dev

无法更改变量值javascript

来自分类Dev

无法更改角度js中附加到作用域的变量值?

来自分类Dev

Java无法获得正确的变量值

来自分类Dev

Xamarin Forms 无法更改变量值

来自分类Dev

Livecode 无法识别变量值

来自分类Dev

JavaScript 中的 if 语句中不会保留对变量值的更改