A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张扬123 中级黑马   /  2012-8-11 02:19  /  1758 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天和杨兄讨论问题,发现一个事情。先发代码。
  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.Comparator;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import java.util.Map.Entry;


  8. public class Test4
  9. {
  10. public static void main(String[] args)
  11. {
  12. String str = "abadcdffbaeba";
  13. Map<String,Long> result = new HashMap<String,Long>();
  14. String[] s = str.split("");
  15. for(String c : s) {
  16. if("".equals(c)) continue;
  17. if(result.get(c) != null) {
  18. result.put(c, result.get(c)+1);
  19. } else {
  20. result.put(c,1L);
  21. }
  22. }
  23. List<Map.Entry<String, Long>> list = new ArrayList<Map.Entry<String, Long>>(result.entrySet());

  24. Collections.sort(list, new Comparator<Map.Entry<String, Long>>() {

  25. @Override
  26. public int compare(Entry<String, Long> o1, Entry<String, Long> o2) {
  27. long i = o1.getValue() - o2.getValue();
  28. if(i==0l) {
  29. return o2.getValue().compareTo(o1.getValue())==0 ? 1 :0;
  30. }
  31. return i > 0l ? 1 : 0;
  32. }
  33. });

  34. for(Map.Entry<String, Long> me : list) {
  35. System.out.println(me.getKey() + ":" +me.getValue());
  36. }
  37. }
  38. }
复制代码
这个代码,在我的MyEclipse上跑出来的结果是正确的。
c:1
e:1
d:2
f:2
b:3
a:4
可是在杨兄的电脑上跑出来是:
f:2
d:2
e:1
b:3
c:1
a:4
我们俩一阵分析,最终发现跟jdk版本有关。因为他用的1.7的,我用的MyEclipse自带的1.6的。后来发现,我自己电脑上安装的是1.7的JDK,命令符打出来的结果跟他的一样。这一现象更加说明了此问题跟版本有关吧?按理说升级后,1.6能跑对的问题1.7不应该有不一致的啊。有没有大神解释一下这个问题?难道这是传说中的BUG么。。。还有,MyEclipse8.5的为什么不能配置JDK1.7呢?你们的有这个问题么。不妨试一下。
file:///D:\360data\重要数据\我的文档\Tencent Files\1768729394\Image\H78]4OG]7WCO]3N$68{W%FE.jpg
file:///D:\360data\重要数据\我的文档\Tencent Files\1768729394\Image\H78]4OG]7WCO]3N$68{W%FE.jpg

4 个回复

倒序浏览
居然有这等事?
回复 使用道具 举报
魏-玉-彪 发表于 2012-8-11 18:44
居然有这等事?

嗯哪。你试试。
回复 使用道具 举报
额,有这事,不科学啊{:soso_e103:}
回复 使用道具 举报
黄树人 发表于 2012-8-12 17:07
额,有这事,不科学啊

难道就没人能回答我这个问题么?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马