トップページ > プログラム > 2016年01月26日 > f4WA2X0s

書き込み順位&時間帯一覧

2 位/164 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000231006



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
★★Java質問・相談スレッド176★★ [無断転載禁止]©2ch.net
2chブラウザ『OpenLane』開発スレッド Part.1 [無断転載禁止]©2ch.net

書き込みレス一覧

★★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


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。