• ベストアンサー

プログラム中でjavaのバージョンを「数値」で取得したい

1.5以上の場合などと分けたいので、数値で取得したいです。 下記のメソッドで文字列として取得し、substringなどで先頭3文字を取得し数値に変換などの方法しかないのでしょうか? System.out.println(System.getProperty("java.version")); System.out.println(System.getProperty("java.vm.version")); System.out.println(System.getProperty("java.specification.version"));

質問者が選んだベストアンサー

  • ベストアンサー
  • komi1341
  • ベストアンサー率65% (25/38)
回答No.2

数値で取得できる方法、は標準では存在しないのではないでしょうか。 バージョン1.6.0、といっている時点で小数点が2つあるので数値ではないですし、メジャーバージョン、マイナーバージョンの区分けも一般的ではないので(先頭の1がいつまでも1のまま)、getMajorVersion()のようなメソッドもなさそうです。 なので#1さんの文字列比較案に一票。

tetuya120
質問者

お礼

お礼遅くなって申し訳ございません。 文字列比較にしました。 ありがとうございました。

その他の回答 (1)

回答No.1

System.getPropertyは文字列を戻すのですし、参考URLのように、文字列で比較してはだめなのでしょうか? java.class.versionというのもありますが、いずれにせよsubstringなどで先頭の数文字を取得し数値に変換してしまうと、バージョン番号が2桁になった際に困りますし・・。

参考URL:
http://www.atmarkit.co.jp/fjava/javatips/176java061.html
tetuya120
質問者

お礼

お礼遅くなって申し訳ございません。 文字列比較にしました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう