2015-01-01から1年間の記事一覧

セミコロンレスJavaコンパイラの設計

すいません。完成まで漕ぎ着けれませんでした。本稿はセミコロンレスJava Advent Calendar 2015の25日目です。セミコロンレスJavaについて簡単に説明すると、Javaの構文上のセミコロンを用いないで標準APIの範囲でプログラミングをするにはどうしたら良いか…

ブリ会の振り返り

富山で寒ブリを買い付けて東京に運び、料理ハンズオンというか、要するにホームパーティーをやろうという企画の振り返り。あくまでもエンジニアの個人的なホームパーティーなのでその点はひとつご理解を。kamekoopa氏の振り返りも参考に。本稿のブリの写真は…

FutureTaskのコンストラクタと魔法のバインド

java.util.concurrent.FutureTaskのコンストラクタの定義が public FutureTask(Callable callable) http://docs.oracle.com/javase/jp/8/docs/api/java/util/concurrent/FutureTask.html#FutureTask-java.util.concurrent.Callable- とCallable<V>となっていてC</v>…

Java8流インスタンスを生成するメソッドの書き方

メソッド内部で任意の型のインスタンスを生成してオブジェクトを返す場合 public static <T> T hoge(Class<T> clazz) { try { return clazz.newInstance(); } catch (ReflectiveOperationException e) { throw new RuntimeException(e); } } といったようにjava.la</t></t>…

引数と戻り値の不一致 - ジェネリクス・ケーススタディ

ある型のインスタンスを受け取り、Listにして返すメソッドを考えよう。 public static <T> List<T> wrap(T value) { List<T> list = new ArrayList<T>(); list.add(value); return list; } このとき、型変数はメソッドのIn / Outで型の関連を表現できさえすればよいので</t></t></t></t>…

Mapの置換にみるジェネリクス表現

Javaのジェネリクスについて考察するのに丁度良いテーマを見つけたので忘れないうちに書いておく。Map を Mapに変換するメソッドを作るという話題。 public static <K,V> Map<V,K> swap1(Map<K,V> origin) { // 略 } 単にMapからMapに変換するなら上記のようなメソッドシグ</k,v></v,k></k,v>…

富山合同勉強会お疲れ様でした

富山合同勉強会 .NET & Java 〜ぶりしゃぶで休もう〜 が1/31(土)に開催されました。.NETのセッションとJavaのセッションを2部屋並行してやるという富山ではなかなか例を見ない大規模な勉強会です。いろんな話題があって良かったですね。僕はスタッフとしてJa…