2017-05-14 6 views
0

は、どのように私はfolowing例の機能をBifunctionを構成することができます。作曲のJava Bifunctionと機能

私が試してみた:

zeroPadding.andThen(removeNonDigitChars).apply("789.65", 8); 

removeNonDigitChars.compose(zeroPadding).apply("789.65", 8); 

しかし、2つの作品のどれを。

+2

'zeroPadding.apply(removeNonDigitChars.apply( "789.65")、8) ; ' – 4castle

答えて

0

あなたの2回の試みは間違った順序で機能を適用しています。文字列removeNonDigitCharsを適用してから、zeroPaddingに文字列を指定すると、になります。

andThen()またはcompose()を使用して2つの機能を組み合わせることはできません。

あなたは複合機能を使用する場合は、単に自分で組み合わせる:

BiFunction<String, Integer, String> combined = (string, zeros) -> 
     zeroPadding.apply(removeNonDigitChars.apply(string), zeros); 

その後、このように使用:

combined.apply("789.65", 8) // returns "00078965" 
+0

私は理解しました。ありがとうございました。 –