1

Hashtable.containsKey(Object value); で正規表現を使用できますか?

次の疑似コードを実行する方法はありますか?

while ( myHashtable.containsKey(regex) ) {
    //TODO
};

私の正規表現は「ERROR[0-9][0-9]?」になります。

編集: ハッシュテーブルとして JSP に送信されるバックエンド Java プログラムから任意の数のエラー メッセージを設定しています。JSP は、ハッシュテーブルからこれらのエラー メッセージを表示する必要があります。JSP でハッシュテーブルを使用することは交渉の余地がありません。すべてのエラー メッセージを確認する方法を知りたいだけです。

4

2 に答える 2

3

あなたが提案している方法ではありません。

ハッシュ テーブルは と メソッドを使用して、Object探しhashCodeequalsいるオブジェクトをすばやく見つけます。

代わりに、ハッシュ テーブルの要素を反復処理して、次のように一致を探すことができます。

for (Map.Entry<String,Object> entry : myHashtable.entrySet){
    if (regex.matcher(entry.getKey()).matches()) {
        //TODO
    }
}
于 2012-01-05T18:14:16.543 に答える
0

私はこれをテストしていませんが、使用したい関数はオブジェクトを期待しており、正規表現を使用したいので、正規表現であるオブジェクトが必要です。

オブジェクト Pattern を試すことができます: http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html

于 2012-01-05T18:10:01.937 に答える