Optionalって何 【Java】
Optional<T>って名前ではあまりイメージできませんが、nullかもしれない<T>型を包み込む型です。nullチェックが簡潔に書けるという感じでしょうか。Java8から追加されているようです。
ScheduledExecutorService(遅延実行)あたり【Java】
scheduleメソッドとか、scheduleAtFixedRateあたりを調べておきました。
scheduleの方は最初の遅延時間を引数で指定できます。
scheduledAtFixedRateは、最初の遅延時間、インターバルが指定できます。そしてどちらもその遅延時間、インターバルの時間単位をTimeUnit列挙型で指定するだけです。
実行する時はこんな感じでシングルスレッドを用意して、
ScheduledExecutorService execTest = Executors.newSingleThreadScheduledExecutor();
execTest.schedule(ラムダ式, 時間, TimeUnit.SECONDS);
終える時にはexecTest.Shutdown();
名前が長いので覚えにくいです。
enumのサンプルコード【Java】
先ほどの投稿の下にでもサンプルコードを添付しようと思ったら、一回「見たままモード」で書いた記事は、左上の所で「はてな記法モード」を選択できなくなっていることに気づきイライラ。
列挙型は使用されるときに一度だけコンストラクタが走って、カッコ内の値を渡します。A,B,Cの値が出力され、最後にMainのprintln(Sample.A);でもう一度Aの値が出力。
というわけで下記の通り。
package test; public enum Sample{ A("Helloo"), B("heelo"), C("hellllo"); private final String value; private Sample(String value) { System.out.println(value); this.value = value; } @Override public String toString() { return this.value; } } package test; public class Test { public static void main(String[] args) throws Exception{ // TODO 自動生成されたメソッド・スタブ System.out.println(Sample.A); } }
これを実行すると、コンソール表示は
Helloo
heelo
hellllo
Helloo
となります。
ローカルクラス内から参照するローカル変数は、実質的final【Java】
タイトル通りのことです。補足説明があれば後で書きます。