我是Java 8的新手,我找不到任何原始的BiConsumer(IntBiConsumer等),但是有一個ToIntBiFunction,它是BiFunction的原始特化。還有一個IntBinaryOperator與ToIntBiFunction相同。爲什麼在java 8中沒有原始的BiConsumer?
BiConsumer<Integer,String> wrappedBiConsumer = (i,s) -> System.out.printf("Consume %d %s \n",i,s);
ToIntBiFunction<String,String> toIntFunction = (a,b) -> a.length()* b.length();
- 有爲什麼甲骨文沒有提供Java8一個IntBiConsumer任何理由?
- 爲什麼有兩個接口像「IntBinaryOperator」和「ToIntBiFunction」而不是像「IntBiFunction」這樣的接口? (如果他們在那裏爲不同的目的,仍然可以從同一個父IntBiFunction擴展)
我非常確定他們設計它的方式有一個很好的理由,請讓我理解它。
如果它們包括與原始類型的功能接口,所有可能的組合,可能性的數量會爆炸。我認爲他們只是選擇了他們認爲最有用的那些。爲什麼他們不能包含它,真的沒有設計理由。 – ajb
他們沒有需要它的API,所以他們沒有打擾。 –