探検
★★Java質問・相談スレッド182★★
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (アウアウウー Sa73-AAco [106.132.135.194])
2018/11/19(月) 11:37:06.10ID:C68x9bSiaプログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理 http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
(p)ttp://www.wikiroom.com/java/?path,classpath
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※
質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。
前スレ
★★Java質問・相談スレッド181★★
https://mevius.5ch.net/test/read.cgi/tech/1518252580/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured
657デフォルトの名無しさん (ワッチョイ 6301-fBuc [60.108.151.168])
2019/12/13(金) 02:40:57.30ID:VJl1Rt3v0 メソッドの処理時間を返すメソッドを作りたいと思ってるのですが実装方法がよく分かりません…
関数型プログラミングをつかえとネット上で書いてあったのですが中々理解出来ずにいます…
やりたいこと:
int runProcessTime(メソッド){
long start = System.currentTimeMillis();
// 引数のメソッドを実行
long end = System.currentTimeMillis();
return (int)end - start
}
どなたかこのポンコツめに実装方法を教えてください……よろしくお願いします…
関数型プログラミングをつかえとネット上で書いてあったのですが中々理解出来ずにいます…
やりたいこと:
int runProcessTime(メソッド){
long start = System.currentTimeMillis();
// 引数のメソッドを実行
long end = System.currentTimeMillis();
return (int)end - start
}
どなたかこのポンコツめに実装方法を教えてください……よろしくお願いします…
658デフォルトの名無しさん (ドコグロ MM03-oPxD [118.109.190.240])
2019/12/13(金) 09:55:14.47ID:ftjAwgQIM >>657
プロファイラ使え
プロファイラ使え
659デフォルトの名無しさん (オッペケ Srbb-s/7w [126.34.41.167])
2019/12/13(金) 15:58:33.51ID:JQqa66DGr 試してないけどこんな感じかな
int runProcessTime(Runnable proc){
long start = System.currentTimeMillis();
proc.run();
long end = System.currentTimeMillis();
return (int)end - start
}
// 呼び出し
runProcessTime(() -> {you.doSomething();});
例外投げんなと怒られたらCallable版も用意してreturn false
Effectively finalで怒られたら引数の宣言にfinalでもつけて修正
int runProcessTime(Runnable proc){
long start = System.currentTimeMillis();
proc.run();
long end = System.currentTimeMillis();
return (int)end - start
}
// 呼び出し
runProcessTime(() -> {you.doSomething();});
例外投げんなと怒られたらCallable版も用意してreturn false
Effectively finalで怒られたら引数の宣言にfinalでもつけて修正
660デフォルトの名無しさん (ブーイモ MM7f-2Hll [210.149.250.70])
2019/12/13(金) 16:56:03.95ID:e2UWLhpQM ジェネリックな高階関数定義するのひたすら面倒だね。戻り値の有無や引数の数が一般化出来ないケースは実質使えない
https://paiza.io/projects/Eh3ihZ2kTIdiBv-2ItS5wg?language=java
本番環境でも使いたければAOP使ってログ出力かな
https://paiza.io/projects/Eh3ihZ2kTIdiBv-2ItS5wg?language=java
本番環境でも使いたければAOP使ってログ出力かな
661デフォルトの名無しさん (ワッチョイ 6301-fBuc [60.108.151.168])
2019/12/14(土) 00:13:43.09ID:9SpegRHr0662デフォルトの名無しさん (オッペケ Srbb-s/7w [126.34.41.167])
2019/12/14(土) 00:39:58.86ID:zsegnw83r もしかしてdoSomethingメソッドの戻り値をRunnable型のオブジェクトにしちゃった…?
runProcessTime(() -> {System.out.println("呼ばれた");});
でいいんだよ
引数と戻り値のないラムダ式がRunnableとして型推論される
runProcessTime(() -> {System.out.println("呼ばれた");});
でいいんだよ
引数と戻り値のないラムダ式がRunnableとして型推論される
663デフォルトの名無しさん (ワッチョイ 6301-uKDx [60.108.151.168])
2019/12/14(土) 02:22:22.35ID:9SpegRHr0 >>662
とりあえず動作確認がしたくて試行錯誤した結果こんな感じなら通るのかなぁって思ってました
https://wandbox.org/permlink/hflsLOytE8IIIZkt
ご指摘の通りに書いてみたら上手く動作してくれました!ありがとうございます!
https://wandbox.org/permlink/jl8r7LPtWxuNBPkh
型推論…便利だけど仕様理解してないとなんか不思議な感覚ですね
とりあえず動作確認がしたくて試行錯誤した結果こんな感じなら通るのかなぁって思ってました
https://wandbox.org/permlink/hflsLOytE8IIIZkt
ご指摘の通りに書いてみたら上手く動作してくれました!ありがとうございます!
https://wandbox.org/permlink/jl8r7LPtWxuNBPkh
型推論…便利だけど仕様理解してないとなんか不思議な感覚ですね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 [少考さん★]
- 高市早苗総理「農水大臣が大好きなおこめ券」 野党が“おこめ券”追及 [Hitzeschleier★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- 【MLB】ドジャース、最優秀救援3度&通算253セーブの守護神・ディアスを獲得! スコット低迷、佐々木朗希は先発復帰で [冬月記者★]
- 国分太一、地上波復帰は困難でもキャンプ趣味を活かしYouTubeで復帰するシナリオも「参戦すればキャンプYouTuberの人気の構図が一変」 [Ailuropoda melanoleuca★]
- 津波警報の発表中にグーグル検索、AIが「すべて解除」と誤情報 [蚤の市★]
