前回はProcessingで利用できないJavaの機能の話でした。最後はProcessingでも使えなくはないけど無理して使うことのない機能の話で締めましょう。

Java Stream API

 Java SE 8の目玉機能のひとつ、Java Stream APIはProcessingでもクラスライブラリとしては使えます。使えますが、ラムダ式の使えないProcessingでは述語を匿名クラスで記述しなければならず、実用に耐えるとはとても言えません。 関数 / メソッドがFirst class objectではない言語の悲哀です。ラムダ式が使えるようになるまでは無理して使うこともないでしょう。

列挙型でのGenericsクラス名の解決

 これは本当にこまかい話。その一で紹介した列挙型は、Javaでは他の多くの言語とは異なりメソッドなどを定義できたりします。このメソッドは普通のメソッドと変わらないのでジェネリクスも指定できます……と言いたいところですが、実際に試してみると型の名前をえらく長く書かなければなりません。Processingの簡潔な記述は実行時にJavaの内部クラスのかたちに変換することで実現しているのですが、隠蔽されているその変換後の情報を指定しなければならないわけです。同等の処理は他のかたちでも実現できるので、そんなことをしてまで使うことはありません。それよりもコードや表現に集中しましょう。


 以上、三回にわたってProcessingとJavaの関係を見てきました。なにかの参考になりましたら幸いです。

公開: / 最終更新日: