と思ったら、バグのようで、JDK1.7u21では、直っていました。
どういう現象化かというと、
public class Main { public static void main(String[] args) { for (String s : args) { System.out.println(s); } } }
この場合に、引数に「C:\aaa\bbb\ D:\ccc\eee\」を渡し実行すると、出力が、
C:\aaa\bbb D:\ccc\eee\
に、なってしまいます。「C:\aaa\bbb\」ではなく「C:\aaa\bbb」と、最後の\マーク(環境によって円マークもしくは、バックスラッシュのどちらか)が取れてしまいます。不思議と最後の引数の\マークは正しく出力されます。
今日時点での最新のJDK1.7u21では直っていました。
どのJDKからこのバグが含まれていたのかは、わかりません。
試したこと。
・JDK1.6u32・・・発生しない
・JDK1.7u02・・・発生しない
・JDK1.7u17・・・発生する
・JDK1.7u21・・・発生しない
以上。
即戦力にならないといけない人のためのJava入門(Java 8対応) エンタープライズシステム開発ファーストステップガイド (CodeZine BOOKS)
- 作者: 竹田晴樹,渡邉裕史,佐藤大地,多田丈晃,上川伸彦
- 出版社/メーカー: 翔泳社
- 発売日: 2016/07/05
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
- 作者: 高橋麻奈
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2013/08/30
- メディア: 単行本
- この商品を含むブログ (5件) を見る