ゼロ未満の値を持つマップ エントリを除外しようとしています。
(filter #(< 0 (.getValue %)) map)
はJavamap
マップ ( のインスタンスHashMap
) です。私は得ています
actual: java.lang.NullPointerException: null
at clojure.lang.Reflector.invokeInstanceMethod (Reflector.java:26)
私は何を間違っていますか?
ゼロ未満の値を持つマップ エントリを除外しようとしています。
(filter #(< 0 (.getValue %)) map)
はJavamap
マップ ( のインスタンスHashMap
) です。私は得ています
actual: java.lang.NullPointerException: null
at clojure.lang.Reflector.invokeInstanceMethod (Reflector.java:26)
私は何を間違っていますか?
map
のインスタンスでよろしいですHashMap
か? これは実際に機能するため:
=> (import [java.util HashMap])
java.util.HashMap
=> (def m (HashMap.))
#'.../m
=> (filter #(< 0 (.getValue %)) m)
()
=> (.put m 3 4)
nil
=> (.put m 5 -32)
nil
=> (filter #(< 0 (.getValue %)) m)
(#<Entry 3=4>)
したがって、エラーは別の場所にあると思います。たぶん、あなたのmap
? ああ、ところで、ゼロ未満ではなくゼロより大きい値をフィルタリングしています。
このエラーを引き起こす可能性のあるもう 1 つのことは、マップ内の値が実際には と比較できない<
ことです。そのため、それも確認する必要があります。