Зонтик Asked:2024-06-03 00:44:40 +0000 UTC2024-06-03 00:44:40 +0000 UTC 2024-06-03 00:44:40 +0000 UTC 为什么Intellij idea坚持使用未命名变量? 772 Java 22 引入了使用下划线命名未使用变量的功能 ( JEP 456 )。 我有这一行: go.addActionListener(e -> ui.setVisible(false)); 现在开发环境发出警告: 参数“e”从未使用过 建议将其替换e为_: go.addActionListener(_ -> ui.setVisible(false)); 值得这样做吗?这是什么意思?对我来说,当你看到它时,你会看几秒钟,但你无法理解它的全部内容...... java 1 个回答 Voted Best Answer Зонтик 2024-06-07T14:41:24Z2024-06-07T14:41:24Z 是否使用未命名变量是一个品味问题。这个想法是为了能够表明不使用该变量的意图。例如,如果存在某种长 foreach,这可能是有意义的,因为不能立即明确该变量在任何地方都不需要。 诚然,环境允许在任何地方都这样做,但并不是每个人都喜欢。在这种情况下,以我个人的观点,下划线看起来很笨拙。但是当我尝试禁用检查(单击disable inspection)时,对意外创建的普通无用变量的检查被禁用,例如在下面的代码中: public void doSomthing() { int x = 3; //Переменная не используется и была создана по ошибке Foo foo = new Foo(); foo.bar(); foo.baz(); } 因此,在这种情况下,我们不得不简单地抑制警告。右键单击警告 -> Show quick-fixes->...并选择suppres for statement、 或suppress for statement with comment。 截屏:
是否使用未命名变量是一个品味问题。这个想法是为了能够表明不使用该变量的意图。例如,如果存在某种长 foreach,这可能是有意义的,因为不能立即明确该变量在任何地方都不需要。
诚然,环境允许在任何地方都这样做,但并不是每个人都喜欢。在这种情况下,以我个人的观点,下划线看起来很笨拙。但是当我尝试禁用检查(单击disable inspection)时,对意外创建的普通无用变量的检查被禁用,例如在下面的代码中:
因此,在这种情况下,我们不得不简单地抑制警告。右键单击警告 -> Show quick-fixes->...并选择suppres for statement、 或suppress for statement with comment。
截屏: