2012-01-04 7 views
0

javaでCollat​​orの機能を使用して文字列を比較するコードを作成しようとしていますが、コンピュータが正しく機能していないようです。ここでは、コードは次のようになります。ここではCollat​​orが私のMacで動作しない

Collator myCollator = Collator.getInstance(Locale.FRANCE); 
System.out.println("ças vs zed: " + myCollator.compare("ças", "zed")); 
System.out.println("cas vs zed: " + myCollator.compare("cas", "zed")); 

は、私は自分のコンピュータ上でこのコードを実行するときに何が起こるかです:

ças vs zed: 1 
cas vs zed: -1 

しかし、私はideone.com上でそれを実行したときに、私は私が望む答えを得る:

をここで
ças vs zed: -1 
cas vs zed: -1 

は、私は自分のコンピュータ(OS X 10.6.8を実行しているマック)上で実行していますJavaのバージョンである:

java version "1.6.0_29" 
Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-10M3527) 
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode) 

なぜ私のコンピュータは違う(間違った)結果を出し、どうすれば修正できますか?

+0

ここに、ideone.comバージョンへのリンクがあります:http://ideone.com/7zzN9 – satur9nine

答えて

1

私はちょうど私のマシン(OS X 10.7.2 /ライオンを実行しているマック)上でそれを実行しました:

ças vs zed: -1 
cas vs zed: -1 

Javaバージョン:

java version "1.6.0_29" 
Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-11M3527) 
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode) 

を私はそれを実行していますよ英国のロケール。

申し訳ありませんが、マックに固有のものではありませんが、スノーレパードだと思われます。

1

OSから何らかの結果が得られたため、Collat​​orが異なる方法で初期化されることはありますか?

Collat​​or.getDecomposition()は、2つのマシンとロケール用に戻ってきたCollat​​orで何を返しますか?

+0

私のコンピュータとideone.comの両方が同じものを「Collat​​or decomposition:0」に返します。 – satur9nine

+0

少なくとも試してみてください。申し訳ありませんが、あなたを連れて行かなかったのです。 – Fredrik

関連する問題