JSR 337: Java SE 8 Release Contents

来年にはリリースされると思われるJava 8だけど、これによって大きく変わると思われるので、時間があるときにでもちょっとずつ押さえていこうと思う。まず、Java 8の中身を決めるJSRはJSR 337になると思われる。まぁ、そこを見れば、Java 8に何が含まれるのかが予想することができるだろう。というわけで、見てみると、以下のものたちが含まれようとしている。

  • JSR 308: Annotations on Java Types
  • JSR 310: Date and Time API
  • JSR TBD: More Small Enhancements to the Java Programming Language (OpenJDK Project Coin)
  • JSR 335: Lambda Expressions for the Java Programming Language (OpenJDK Project Lambda)
  • JSR TBD: Java Platform Module System

これ以外にもJava仕様的なメンテナンスっぽいJSRたちもあるけど、こんなかで把握していく必要があるのはラムダだろうな…。まぁ、順に見ていくのが良いかね。

Stringのformatで改行文字

String#format()もそんなに使うわけじゃないから、

String.format("hoge hoge\n", ...)

という感じのコードを書いていたら、Sonarに指摘された…。改行は\nじゃなくて、%nを使えと言われた。つまり、

String.format("hoge hoge%n", ...)

という感じらしい。これで機種依存の改行コードになるから、こっちを使えということか…。

コンソールが表示されなくなった

Ubuntuサーバーを12.04にアップグレードインストールしたのだけど、コンソールが表示されなくなってしまった…。まぁ、ネットワーク経由で操作すれば問題ないのだけど、コンソールを直接操作したいときもあったりするのでちょっと困った。ググると同じような症状の人がいたのだけど、諦めてインストールしなおしたら解決したとか、役に立たない情報な感じ。パッケージをいろいろとインストールしなおしてみたりしたのだけど、特に変わらず、仕方がないので

$ sudo apt-get install ubuntu-desktop

でデスクトップ環境をインストールしてみる。そしたら、ローカルでログインできるようになったから、ひとまずよしとしよう。ubuntu-desktopをremoveすれば元に戻るのかもしれないけど、時間がないから次の機会に…。