1

重複の可能性:
JPassword フィールドが null かどうかを確認する方法

ログイン登録フォームを作成する際に、2 つのパスワード フィールドを使用しています。データを保存する前に、両方のフィールドを比較したいと思います。一致する場合は、データをファイルに保存する必要があります。そうでない場合は、ダイアログ ボックスを開く必要があります。誰でも私を助けてください。

4

2 に答える 2

11

最も安全な方法はArrays.equalsを使用することです:

if (Arrays.equals(passwordField1.getPassword(), passwordField2.getPassword())) {
   // save data
} else {
  // do other stuff
}

説明: によって返された を使用することを優先してJPassword.getText使用することを避けるために、 は意図的に廃止されました。Stringschar[]getPassword

呼び出すgetTextと、(リフレクションを除いて)変更できない文字列(不変オブジェクト)を取得するため、パスワードはガベージコレクションされるまでメモリに残ります。

ただし、char 配列は変更される可能性があるため、パスワードは実際にはメモリに残りません。

この上記のソリューションは、そのアプローチに沿っています。

于 2012-12-21T19:42:06.067 に答える