- ★★Java質問・相談スレッド176★★ [無断転載禁止]©2ch.net
55 :デフォルトの名無しさん[sage]:2016/01/26(火) 19:42:07.47 ID:f4WA2X0s - Optionalについて質問
値が入ってるときだけ実行したい処理があって、 その処理の結果によって後のロジックを分岐する場合はどう書くのが良いだろうか 処理結果はbooleanで帰ってきてnullになる事はない ifPresentだと処理結果が分からないからmapを使おうとしたけど、 これだと結果を一度Optionalに格納して、さらにif文でget()を呼ばないといけなくなった Optional<Data> targetData = findById(id); Optional<Boolean> success = targetData.map(data -> update(data)); // ←まじで? if (success.get()) { // ←まじで? return ok; } return ng; もっと良い方法はある?それともOptionalってこういうものなのか?
|
- ★★Java質問・相談スレッド176★★ [無断転載禁止]©2ch.net
57 :デフォルトの名無しさん[sage]:2016/01/26(火) 19:51:07.63 ID:f4WA2X0s - >>56
どうやって伝播させればいいの?
|
- ★★Java質問・相談スレッド176★★ [無断転載禁止]©2ch.net
59 :デフォルトの名無しさん[sage]:2016/01/26(火) 20:35:20.22 ID:f4WA2X0s - >>58
あれ?Optional<結果の型>をどんどん上に返しても、いずれはその中身を使う時が来るよね? じゃあ>>55のコードが一番上の処理だった場合はこれでおkと理解したんだけど合ってるかな
|
- 2chブラウザ『OpenLane』開発スレッド Part.1 [無断転載禁止]©2ch.net
21 :デフォルトの名無しさん[sage]:2016/01/26(火) 20:43:59.00 ID:f4WA2X0s - 今時デスクトップアプリ作るならC#じゃなくてJavaScriptのほうが良くないか
ちょうど使えるんだろ?これとかどうだ? http://electron.atom.io/
|
- ★★Java質問・相談スレッド176★★ [無断転載禁止]©2ch.net
62 :デフォルトの名無しさん[sage]:2016/01/26(火) 20:52:50.17 ID:f4WA2X0s - >>60
これPlayFrameworkっていうWebフレームワークのコントローラー部分で、 updateが成功したらステータスコード200で成功画面のHTMLをレンダリングして返すコードで、 失敗したら400で失敗画面を返す奴なんだ
|
- ★★Java質問・相談スレッド176★★ [無断転載禁止]©2ch.net
64 :デフォルトの名無しさん[sage]:2016/01/26(火) 21:05:15.59 ID:f4WA2X0s - >>63
boolean success = targetData.map(data -> update(data)).orElse(false); あ、これは素晴らしい なんか悪かった…… でも>>58はかなり勉強になったよ、thx
|