字符数组值不包含JAVA中的用户输入值

字符数组值不包含JAVA中的用户输入值,java,arrays,character,Java,Arrays,Character,我定义了一个字符数组,它的值等于用户从控制台输入的值。 为了测试这是否正确,我打印出字符数组中的每个值,看看是否正确 char[]userPass=console.readPassword(将newPass数组的引用传递给isValid,因此在执行以下操作时: Arrays.fill(userInput, (char) 0); 您正在用0填充newPass。因为无论密码是否有效,您都要这样做,所以调用isValid后,数组将始终为0。打印全零字符数组时,不会打印任何内容,因为0是空字符 我不认

我定义了一个字符数组,它的值等于用户从控制台输入的值。 为了测试这是否正确,我打印出字符数组中的每个值,看看是否正确


char[]userPass=console.readPassword(将
newPass
数组的引用传递给
isValid
,因此在执行以下操作时:

Arrays.fill(userInput, (char) 0);
您正在用0填充
newPass
。因为无论密码是否有效,您都要这样做,所以调用
isValid
后,数组将始终为0。打印全零字符数组时,不会打印任何内容,因为0是空字符

我不认为
数组.fill
调用在
isValid
isValid
中有任何作用,它根本不应该更改传入的数组

静态布尔值有效(char[]userInput){

对于(int i=0;我猜
isValid
对数组做了些什么。但我可以肯定地说,您需要提供一个,我可以复制并粘贴到IDE中并重现问题的最小数量的代码。抱歉。我已经更新了问题,以包括
isValid
,正如我所想的,无论密码是有效的。你为什么要这么做?为什么不让数组单独存在?我明白了。我忘记了数组在Java中是通过引用传递的,我以为我只是在复制数组。谢谢!