要將登錄密碼改為星號,可以使用Java的Console類來實現。Console類提供了readPassword()方法,該方法可以隱藏用戶輸入的密碼并以字符數組的形式返回。
以下是示例代碼:
import java.io.Console;
public class PasswordExample {
public static void main(String[] args) {
Console console = System.console();
if (console == null) {
System.out.println("Console is not available");
System.exit(1);
}
char[] passwordArray = console.readPassword("Enter your password: ");
String password = new String(passwordArray);
System.out.println("Your password is: " + password);
// 清除密碼
Arrays.fill(passwordArray, ' ');
}
}
在示例代碼中,首先檢查console對象是否為空,以確保程序在非交互式環境下也可以運行。然后使用console.readPassword()
方法隱藏用戶輸入的密碼,并將其存儲在字符數組passwordArray
中。然后將字符數組轉換為字符串,并輸出密碼。最后,使用Arrays.fill()
方法清除密碼數組,以確保密碼不再占用內存。
請注意,使用Console類獲取密碼比使用Scanner類更安全,因為Console類不會在控制臺上顯示密碼。