ログイン登録フォームを作成する際に、2 つのパスワード フィールドを使用しています。データを保存する前に、両方のフィールドを比較したいと思います。一致する場合は、データをファイルに保存する必要があります。そうでない場合は、ダイアログ ボックスを開く必要があります。誰でも私を助けてください。
質問する
11391 次
2 に答える
11
最も安全な方法はArrays.equalsを使用することです:
if (Arrays.equals(passwordField1.getPassword(), passwordField2.getPassword())) {
// save data
} else {
// do other stuff
}
説明: によって返された を使用することを優先してJPassword.getText
使用することを避けるために、 は意図的に廃止されました。Strings
char[]
getPassword
呼び出すgetText
と、(リフレクションを除いて)変更できない文字列(不変オブジェクト)を取得するため、パスワードはガベージコレクションされるまでメモリに残ります。
ただし、char 配列は変更される可能性があるため、パスワードは実際にはメモリに残りません。
この上記のソリューションは、そのアプローチに沿っています。
于 2012-12-21T19:42:06.067 に答える