Jakarta Expression Language 6.1 の主な変更点


日付型の暗黙的型変換のサポート追加

Double, Float といった数値型に対しては自動型変換により lt などで比較可能ですが、日付型についてはこの変換がありませんでした。

Jakarta Expression Language 6.1 では、Instant, Date に対する型変換と、TemporalAccessor, Clock, Date に対する比較演算がサポートされました。

これにより以下のような日付型の比較が可能になりました。

#{bean.date lt currentDate}


正規名での内部クラスインポート追加

EL仕様では、クラスインポート時に、バイナリ名か正規(カノニカル)名のどちらを使用するかの規定がありませんでした。

バイナリ名は、内部クラスが $ 区切り(java.util.Map$Entry)となり、正規名はドット区切り(java.util.Map.Entry)となります。

Jakarta Expression Language 6.1 では、インポートするクラスには正規名を利用することを明示するとともに、正規名による内部クラスのインポートサポートが追加されました。


null結合演算子(??), エルビス演算子(?:), 連結/マージ演算子(+=)

これらは、Feature Creep としか考えられません。 が、とにかく、追加されることになるようです。


その他