私は既存のJavaプログラムで作業しています。そのクラスの1つはいくつかのブール関数を計算します。最初の引数がString
型であり、第二つPredicate
タイプであるので、それは、これを実現するためHashMap
を使用:javaの述語型の入力を伴うHashMap
featureMap = new HashMap<String, Predicate<ChunkedBinaryExtraction>>
featureMapが一部によって定義され、返されるいくつかの文字列と述語値によって手動で設定されていますプライベートメソッド(例:featureMap.put("extr phrase", extrCoversPhrase());
)。
私は機能にアクセスする必要があるの値(第2引数)ので、私はこのコードを使用:
Set set = featureMap.entrySet();
Iterator i = set.iterator();
while(i.hasNext()) {
Map.Entry me = (Map.Entry)i.next();
System.out.print(me.getKey() + ": ");
System.out.println(me.getValue());
}
それが適切ではなく、二番目の(機能最初の引数を抽出できた値を)!
extr phrase: [email protected]a7bc2
me.getValue()
は機能の値を取得するための適切な文をISNOTようだ:それはこのような何かを返しますか?
生の型を使うのではなく、 'Set'と' Map.entry'を適切にパラメータ化してください。 – Mena
@Menaが正しい!生の型は使わないでください!効果的なJavaの第2版、第5章、項目23をチェックしてください:生の型を使わないでください! –