我必须使用Console console = System.console();
在Eclipse中通过控制台输入密码,但它总是如此
给了我java.lang.NullPointerException
。为什么会这样?
或者还有其他方法可以通过控制台输入密码,这是不可见的?
答案 0 :(得分:0)
答案 1 :(得分:0)
正如System.console()
的Javadoc中所述,如果没有为JVM分配控制台,它可以返回null。事实上,情况经常如此。所以你不能依赖它是非空的。
从Eclipse运行应用程序时,可以配置它以分配控制台。打开应用的启动配置,转到常用标签,在底部附近,您会找到一个复选框选项,&#34; 分配控制台(输入必需)< /强>&#34;
请参阅@ Jean-Baptiste的答案,隐藏用户在控制台中的输入。但请记住,您的应用必须优雅地处理来自Systemconsole()
的空值。