Guavaメソッドを使用するときに一部の値を破棄できるかどうかを知りたいのですが。
public static Function<Locale, String> GET_LANGUAGE = new Function<Locale, String>() {
@Override
public String apply(Locale input) {
return StringUtils.isBlank(input.getLanguage()) ? "NO_LANGUAGE" : input.getLanguage();
}
};
Maps.uniqueIndex(availableLocales, GET_LANGUAGE);
多くのロケールで同じ言語を使用できるため、マルチマップを使用できたはずですが、実際にはそれが私のニーズに合っています。
たとえば、言語のないロケールを出力マップに含めないようにします。nullなどを返すことができないため、関連性のない言語のロケールをキー「NO_LANGUAGE」にリダイレクトします。問題は、値を引き続き取得できることです。
ある種の「/dev/ null」マップキーはありますか、それとも述語を使用する前/後に常に何らかのフィルターを実行する必要がありますか?