Java 1.8扫描仪导入

Java 1.8扫描仪导入,java,Java,我的代码是: package apple; import java.util.Scanner; class bucky { public static void main(String args[]) { Scanner bucky = new Scanner(System.in); System.out.println(bucky.nextLine()); } } 运行时,会显示“将局部变量转换为@bucky字段”。 还有资源泄漏:buck

我的代码是:

package apple;

import java.util.Scanner;

class bucky {
    public static void main(String args[]) {
        Scanner bucky = new Scanner(System.in);
        System.out.println(bucky.nextLine());
    }
}
运行时,会显示“将局部变量转换为@bucky字段”。

还有资源泄漏:bucky从未关闭。

您的类名和变量(扫描器)名称相同(bucky)。试着改变其中一个

它表示将局部变量转换为@bucky字段

这只是IDE的建议。对于您的简单代码来说,这几乎毫无意义

资源泄漏。巴基从不关门

虽然正确,但这是一个从未调用过
bucky.close()
的资源泄漏,您在这里确实不需要它,而且关闭标准输入
扫描仪
通常容易出错


是的,您应该将类名更改为更具描述性的名称,
CamelCased

用大写字母开始类名是一种好的做法。正如@Hadar所指出的,问题在于您的类名与变量名相同,而且永远不要忘记关闭Scanner导入。您还可以学习如何使用块来避免资源泄漏

提示:阅读java编码风格指南。类名以大写字母开头。正如哈达尔所说:尝试使用唯一的名称。和:使用能说明其背后事物的预期用途的名称。“巴基”什么也没说;“scannerForUserInput”这样的名称会有什么问题?非常怀疑“在运行时”是否有类似的消息。请弄清楚你在什么时候犯了什么错误。和标签“neon”有什么关系?(“NEON是用于ARM处理器的向量处理指令集。”)-我将删除该标记。@ErwinBolwidt Eclipse 4.6 NEON。。。Eclipse不需要使用下面的代码,Scanner scannerObj=new Scanner(System.in);System.out.println(scannerObj.nextLine());虽然不建议使用与类名相同的变量名,但这并不是一个错误。实际上这不是问题。但最好不要这样命名,以免混淆