問題タブ [functional-java]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1910 参照

java - Javaでのエラー処理用

私の新しい職場では、エラー処理に機能的な Java を多用しています ( http://www.functionaljava.org/javadoc/4.5/functionaljava/fj/data/Either.html )。

例外はほとんど使用されません。

これは、多くの理由で非常に厄介です。1 つを挙げると、次の行に進む前に、メソッド内のすべての API 呼び出し (Either を返す) は、最初に、返された Each がエラーかどうかを確認する必要があります。エラーの場合は、Either の形式でメソッド呼び出しのスタックに反映されます。スタック内の各メソッドは、エラーの処理を担当するメソッドにたどり着くまで、返されたエラーをチェックする必要もあります。これにより、非常に不適切な構造の Java コードが生成されます。すべてのAPI呼び出しで「停止」する必要があるため、通常のフローのJavaコードを実際に書くことはできません(ストリームは問題外です)。例えば

もちろん、Either のモナド メソッドを使用することもできますが (私はそうしています)、それでは、戻り値の型がエラーか値かを「尋ねる」必要があるという主要な問題は解決されません。エラー処理のインフラストラクチャとしてどちらかを使用するのは良い考えではないと思う理由は他にもたくさんあります (長い割り当てステートメント、長いメソッド、ネストされたジェネリックなど)。

それを回避するために、「エラー」を返すすべてのAPI呼び出しに対して特定の例外をスローし、現在取り組んでいるトップレベルのメソッドで例外を1回キャッチすることを考えました。

しかし、同様のことを行うEitherプロジェクションタイプの唯一のメソッドはJavaエラーをスローしているため、それは可能ではないようです.メモリ不足エラー)。

提案や考えはありますか?

ありがとう

0 投票する
2 に答える
67 参照

functional-programming - 関数 Java スタイルへの変換

フィルター、コレクターなどを使用して、適切なJava 8機能スタイルで次をどのように書き直しますか:

0 投票する
4 に答える
1149 参照

java - 関数の構成方法と消費者Java 8で?

関数を構成するのと同じように、Function と Consumer を構成できないのはなぜですか?

これは、既存の Function インターフェースに対する明らかな即興のようです。Java 8 でこの機能が回避された理由はありますか?

また、次のように関数の拡張実装を使用するのは一般的な方法ですか?