我正在尝试编写一些使用java中的排列器功能来比较字符串的代码,但我的计算机似乎无法正常工作。代码如下:
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下面是我在我的电脑上运行的java版本(运行OS X 10.6.8的Mac ):
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)为什么我的计算机给出不同(错误)的结果,我如何修复它?
发布于 2012-01-05 06:02:27
我刚刚在我的机器(运行OS X 10.7.2 /Lion的Mac )上运行了它:
ças vs zed: -1
cas vs zed: -1Java版本:
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)我正在使用英国语言环境运行它。
抱歉,这没有帮助,但显示它不是Mac特定的-可能是雪豹吗?
发布于 2012-01-13 15:09:49
会不会是因为从操作系统获得了一些结果,所以对排序器进行了不同的初始化?
在这两台机器上,Collator.getDecomposition()返回了什么,并且返回了对应区域设置的排序器?
https://stackoverflow.com/questions/8734489
复制相似问题