2016-06-13 1 views
0

私が働く会社では、現在すべてのアプリケーションをJava 6からJava 7環境に移行しています。統合テストのいくつかが失敗し始めるまで、すべてうまくいった:プログラムの出力は予測されたプログラムの出力とはもはやマッチしなかった。非順序コレクションに対する反復に関するJava 6 - > Java 7の移行の問題を解決する

具体的には、多数のアプリケーションで出力ラインの順序が変更されていました。

いくつかのコード(これは1週間以上もかかっていました)を調べると、いくつかの非オーダーコレクションを繰り返していることが分かりました。どうやら、これの実装、つまり出力順序はJavaバージョン間で変更されています。

私たちの問題はおそらく、私たちがおそらく多くの場所でこれを行い、手ですべてを捕まえることは不可能に近いことです。そこで、私はブランケット解決策が存在するのか、このミスのすべてを発見する体系的な方法が存在するのかを尋ねるためにここにいます。

+0

これは、Java 7に移行するための素晴らしい時点です。これは、人生の終わりから1年後です。 – Holger

+0

IBMとそのフレームワークを非難します。 –

答えて

0

Java 7u6で文字列の新しいハッシュ関数が導入されました。Java 7 Collection Updatesを参照してください。これはデフォルトで無効にする必要がありますが、使用環境で有効にして、反復順序の違いを説明することができます。

関連する問題