appendedブートストラップクラスパスが追加されているため、共有はブートローダークラスでのみサポートされますということらしいが、intellijでしか警告がでない。unlockすれば、でなくなる。Intellijで発生する。streamに変換させて、それを合成する。戻ってくるのはstreamが1つ。flatmapはstreamを合成してくれる感じのいいやつ。Large)が発生して少々ハマった。}}上記のような感じで、差し替えができる。staticフィールドもできるもよう。methodをテストしたいときは、これで結果が取れるので、Assertiosでチェックしてやればいい。}}staticメソッドもできるもよう。まとめMockitoでprivateメソッドでテストするのはできなくてPowerMock使えって書いてあるけど、バージョンとか意識しないといけないの面倒だから、Mockitoでできないかなって調べたら、このくらいのことはできるので、わざわざライブラリ追加しなくていいかなって感じでした。commentJava8から導入されたFunctionインターフェースはかなり便利な機能で多用している。関数合成が便利なので、ぜひ利用してほしい。Integer.valueOf(s);Functionインターフェースではジェネリクスの1つめが引数、2つめが戻り値となっているいつものJavaと比べるとちょっと変ですよねuses.apply("2");これでOK。apply(引数)って感じで渡せばいいだけです。他のパラメータも渡したいこれだと変数1個しか渡せなくて不便に感じる人もいるかとおもいます。変数宣言だと無理なのですが、メソッドとしてもFunctionインターフェース使えるのでこれを使うべしかなと思います。}}こんな感じになります。lambda式な感じになるので、違和感なく使えるかなと。メソッドの引数にパラメータを渡す感じです。uses(1).apply("2")こんな感じで使います。これでFunction<T,R>の戻り値を返却して、それをapplyする感じにしています。合成Functionは合成機能が標準であるので、これがとても便利です。AやってBやってCやってみたいなのが、関数として組み合わせられて、状態依存もしにくいのでいいかなと。}}先程の変数宣言とメソッド宣言を名前変えておきます。usesVal.andThen(sMethod(3)).apply("2")こんな感じで使います。andThenで関数と関数をくっつけます。composeで異なります。B->Aの順で実行されます。関数合成ができてからとても便利になりました。基本的に操作したい対象とパラメータはわけた方がよくて、パラメータ等はメソッドの引数で渡すのがいいと思います。操作対象をFunctionインターフェースの方に渡すのがいいと思いました。comment関数インターフェースのPredicateとかFunctionがあるのであんまり使わないけど、引数とか3つ以上のものはないのでつくる必要がある。基本的に抽象メソッドを1つしかもっていなければOK。defaultメソッドはいくつもっていてもOKです。a);}こんな感じでカンタンに作れる使うときはこんな感じでカンタンに使える。"a".equals(s);sampleFilter.filter("a","b","c");こんな感じで使える。なんかもうカンタン過ぎますね。commentJavaのよく使ってる関数インターフェース群をまとめようかとおもう。現場ごとに説明のためのドキュメントを書くのがしんどくなってきたからというのが本音かも。predicate断言するって意味。戻り値はBoolean。'a'または'b'があったらtrue実行はtest(T)でできる。streamのfilterとかで使える。matchA.test("a");これで実行できる。引数なし、戻り値あり。引数ないけど、それ単体で何かが発生する。String.valueOf(random.nextInt());};ランダムintを返却するsupplier.get()consumer消費するって意味。実際に引数とって、そのあと処理する。System.out.println(i);};Function機能として使える関数インターフェース引数と戻り値を持てる。引数2つまで持てるものもある。commentきっかけspringbootとintellijなどIDE使ってると、コードの補完はめちゃされるし、Javaって便利だなーとか先人の方たちありがとう!って気持ちでコード書いてるんですけど、コード変更時に変更内容がHotswapで反映されるならいいんですけど、そうじゃないとrestartがかかって、プロジェクトが少し大きくなってくると15秒くらいまたされるのでもっと短縮できないかなーって思いました。やったことDIの対象になるクラスを全部遅延ロード(lazyload)してしまえばいいかと思い、それを実装してみました。本番環境でやるのはリスキーなので、local環境のみで行うようにしています。6.871)リスク初期化が遅らせているので、初期化順でなにかを行う処理を挟み込んでたりしたら影響がありますが、今日そんなコード書いてる人なんてあんまりいないだろうし、local環境だけなんでまぁ影響ないかなと。spring-context-indexerと組み合わせているとちょっと動かないケースがあってハマることがあるので、オフにできるならオフにすること。なんでかはわかってないです。