a.compareTo(b)
a<b -1
a=b 0
a>b 1

解决方案 »

  1.   

    同意nimifeng(现在只想学点东西)
      

  2.   

    public class CompareChinese
    {
    public static void main(String[] args)
    {
    String s1="张三";
    String s2="李四";
    System.out.println(s1.compareTo(s2));
    }
    };得出结果是:
    -2094请高手解答一下吧
      

  3.   

    直接compareTo肯定不对拉需要字典是怎么回事啊? 用什么字典?
      

  4.   

    字典是怎么回事??
    简单举个例子:
      比如数据库有一个这样的表: 
        汉字  拼音 
        张    zhang
        李    li
        三    san
        四    si
       .
       .
    就是字典表啊! 查 “张三” 的拼音为:“zhangsan”;再查“李四”为:“lisi”好了,比较"zhangsan"和"lisi" 谁都会8!
      

  5.   

    具体挺麻烦的,给你段代码,原来水木清华bbs java版上的,是将汉字转为汉语拼音,稍加修改就可以满足你的要求,源代码比较长,不能一次帖上来,分几次帖(注意:一共在一个类里面)
      

  6.   


    import sun.io.CharToByteConverter;
    /**
     * Powered by zms
     * 可以随便引用,修改
     * 但请保留此Powered by zms标志 
     */
    public class Chinese1 {
            private static String[] data1;
            private static int[] data2;
            private static int length=397;
            private static CharToByteConverter converter;
            static {
                    data1=new String[length];
                    data2=new int[length];
                    data1[0]="a";
                    data2[0]=20319;
                    data1[1]="ai";
                    data2[1]=20317;
                    data1[2]="an";
                    data2[2]=20304;
                    data1[3]="ang";
                    data2[3]=20295;
                    data1[4]="ang";
                    data2[4]=20295;
                    data1[5]="ao";
                    data2[5]=20292;
                    data1[6]="ba";
                    data2[6]=20283;
                    data1[7]="bai";
                    data2[7]=20265;
                    data1[8]="ban";
                    data2[8]=20257;
                    data1[9]="bang";
                    data2[9]=20242;
                    data1[10]="bao";
                    data2[10]=20230;
                    data1[11]="bei";
                    data2[11]=20051;
                    data1[12]="ben";
                    data2[12]=20036;
                    data1[13]="beng";
                    data2[13]=20032;
                    data1[14]="bi";
                    data2[14]=20026;
                    data1[15]="bian";
                    data2[15]=20002;
                    data1[16]="biao";
                    data2[16]=19990;
                    data1[17]="bie";
                    data2[17]=19986;
                    data1[18]="bin";
                    data2[18]=19982;
                    data1[19]="bing";
                    data2[19]=19976;
                    data1[20]="bo";
                    data2[20]=19805;
                    data1[21]="bu";
                    data2[21]=19784;
                    data1[22]="ca";
                    data2[22]=19775;
                    data1[23]="cai";
                    data2[23]=19774;
                    data1[24]="can";
                    data2[24]=19763;
                    data1[25]="cang";
                    data2[25]=19756;
                    data1[26]="cao";
                    data2[26]=19751;
                    data1[27]="ce";
                    data2[27]=19746;
                    data1[28]="ceng";
                    data2[28]=19741;
                    data1[29]="cha";
                    data2[29]=19739;
                    data1[30]="chai";
                    data2[30]=19728;
                    data1[31]="chan";
                    data2[31]=19725;
                    data1[32]="chang";
                    data2[32]=19715;
                    data1[33]="chao";
                    data2[33]=19540;
                    data1[34]="che";
                    data2[34]=19531;
                    data1[35]="chen";
                    data2[35]=19525;
                    data1[36]="cheng";
                    data2[36]=19515;
                    data1[37]="chi";
                    data2[37]=19500;
                    data1[38]="chong";
                    data2[38]=19484;
                    data1[39]="chou";
                    data2[39]=19479;
                    data1[40]="chu";
                    data2[40]=19467;
                    data1[41]="chuai";
                    data2[41]=19289;
                    data1[42]="chuan";
                    data2[42]=19288;
                    data1[43]="chuang";
                    data2[43]=19281;
                    data1[44]="chui";
                    data2[44]=19275;
                    data1[45]="chun";
                    data2[45]=19270;
                    data1[46]="chuo";
                    data2[46]=19263;
                    data1[47]="ci";
                    data2[47]=19261;
                    data1[48]="cong";
                    data2[48]=19249;
                    data1[49]="cou";
                    data2[49]=19243;
                    data1[50]="cu";
                    data2[50]=19242;
                    data1[51]="cuan";
                    data2[51]=19238;
                    data1[52]="cui";
                    data2[52]=19235;
                    data1[53]="cun";
                    data2[53]=19227;
                    data1[54]="cuo";
                    data2[54]=19224;
                    data1[55]="da";
                    data2[55]=19218;
                    data1[56]="dai";
                    data2[56]=19212;
                    data1[57]="dan";
                    data2[57]=19038;
                    data1[58]="dang";
                    data2[58]=19023;
                    data1[59]="dao";
                    data2[59]=19018;
                    data1[60]="de";
                    data2[60]=19006;
                    data1[61]="deng";
                    data2[61]=19003;
                    data1[62]="di";
                    data2[62]=18996;
                    data1[63]="dian";
                    data2[63]=18977;
                    data1[64]="diao";
                    data2[64]=18961;
                    data1[65]="die";
                    data2[65]=18952;
                    data1[66]="ding";
                    data2[66]=18783;
                    data1[67]="diu";
                    data2[67]=18774;
                    data1[68]="dong";
                    data2[68]=18773;
                    data1[69]="dou";
                    data2[69]=18763;
                    data1[70]="du";
                    data2[70]=18756;
                    data1[71]="duan";
                    data2[71]=18741;
                    data1[72]="dui";
                    data2[72]=18735;
                    data1[73]="dun";
                    data2[73]=18731;
                    data1[74]="duo";
                    data2[74]=18722;
                    data1[75]="e";
                    data2[75]=18710;
                    data1[76]="en";
                    data2[76]=18697;
                    data1[77]="er";
                    data2[77]=18696;
                    data1[78]="fa";
                    data2[78]=18526;
                    data1[79]="fan";
                    data2[79]=18518;
                    data1[80]="fang";
                    data2[80]=18501;
                    data1[81]="fei";
                    data2[81]=18490;
                    data1[82]="fen";
      

  7.   

    data2[82]=18478;
                    data1[83]="feng";
                    data2[83]=18463;
                    data1[84]="fo";
                    data2[84]=18448;
                    data1[85]="fou";
                    data2[85]=18447;
                    data1[86]="fu";
                    data2[86]=18446;
                    data1[87]="ga";
                    data2[87]=18239;
                    data1[88]="gai";
                    data2[88]=18237;
                    data1[89]="gan";
                    data2[89]=18231;
                    data1[90]="gang";
                    data2[90]=18220;
                    data1[91]="gao";
                    data2[91]=18211;
                    data1[92]="ge";
                    data2[92]=18201;
                    data1[93]="gei";
                    data2[93]=18184;
                    data1[94]="gen";
                    data2[94]=18183;
                    data1[95]="geng";
                    data2[95]=18181;
                    data1[96]="gong";
                    data2[96]=18012;
                    data1[97]="gou";
                    data2[97]=17997;
                    data1[98]="gu";
                    data2[98]=17988;
                    data1[99]="gua";
                    data2[99]=17970;
                    data1[100]="guai";
                    data2[100]=17964;
                    data1[101]="guan";
                    data2[101]=17961;
                    data1[102]="guang";
                    data2[102]=17950;
                    data1[103]="gui";
                    data2[103]=17947;
                    data1[104]="gun";
                    data2[104]=17931;
                    data1[105]="guo";
                    data2[105]=17928;
                    data1[106]="ha";
                    data2[106]=17922;
                    data1[107]="hai";
                    data2[107]=17759;
                    data1[108]="han";
                    data2[108]=17752;
                    data1[109]="hang";
                    data2[109]=17733;
                    data1[110]="hao";
                    data2[110]=17730;
                    data1[111]="he";
                    data2[111]=17721;
                    data1[112]="hei";
                    data2[112]=17703;
                    data1[113]="hen";
                    data2[113]=17701;
                    data1[114]="heng";
                    data2[114]=17697;
                    data1[115]="hong";
                    data2[115]=17692;
                    data1[116]="hou";
                    data2[116]=17683;
                    data1[117]="hu";
                    data2[117]=17676;
                    data1[118]="hua";
                    data2[118]=17496;
                    data1[119]="huai";
                    data2[119]=17487;
                    data1[120]="huan";
                    data2[120]=17482;
                    data1[121]="huang";
                    data2[121]=17468;
                    data1[122]="hui";
                    data2[122]=17454;
                    data1[123]="hun";
                    data2[123]=17433;
                    data1[124]="huo";
                    data2[124]=17427;
                    data1[125]="ji";
                    data2[125]=17417;
                    data1[126]="jia";
                    data2[126]=17202;
                    data1[127]="jian";
                    data2[127]=17185;
                    data1[128]="jiang";
                    data2[128]=16983;
                    data1[129]="jiao";
                    data2[129]=16970;
                    data1[130]="jie";
                    data2[130]=16942;
                    data1[131]="jin";
                    data2[131]=16915;
                    data1[132]="jing";
                    data2[132]=16733;
                    data1[133]="jiong";
                    data2[133]=16708;
                    data1[134]="jiu";
                    data2[134]=16706;
                    data1[135]="ju";
                    data2[135]=16689;
                    data1[136]="juan";
                    data2[136]=16664;
                    data1[137]="jue";
                    data2[137]=16657;
                    data1[138]="jun";
                    data2[138]=16647;
                    data1[139]="ka";
                    data2[139]=16474;
                    data1[140]="kai";
                    data2[140]=16470;
                    data1[141]="kan";
                    data2[141]=16465;
                    data1[142]="kang";
                    data2[142]=16459;
                    data1[143]="kao";
                    data2[143]=16452;
                    data1[144]="ke";
                    data2[144]=16448;
                    data1[145]="ken";
                    data2[145]=16433;
                    data1[146]="keng";
                    data2[146]=16429;
                    data1[147]="kong";
                    data2[147]=16427;
                    data1[148]="kou";
                    data2[148]=16423;
                    data1[149]="ku";
                    data2[149]=16419;
                    data1[150]="kua";
                    data2[150]=16412;
                    data1[151]="kuai";
                    data2[151]=16407;
                    data1[152]="kuan";
                    data2[152]=16403;
                    data1[153]="kuang";
                    data2[153]=16401;
                    data1[154]="kui";
                    data2[154]=16393;
                    data1[155]="kun";
                    data2[155]=16220;
                    data1[156]="kuo";
                    data2[156]=16216;
                    data1[157]="la";
                    data2[157]=16212;
                    data1[158]="lai";
                    data2[158]=16205;
                    data1[159]="lan";
                    data2[159]=16202;
                    data1[160]="lang";
                    data2[160]=16187;
                    data1[161]="lao";
                    data2[161]=16180;
                    data1[162]="le";
                    data2[162]=16171;
                    data1[163]="lei";
                    data2[163]=16169;
                    data1[164]="leng";
                    data2[164]=16158;
                    data1[165]="li";
                    data2[165]=16155;
                    data1[166]="lia";
                    data2[166]=15959;
                    data1[167]="lian";
                    data2[167]=15958;
                    data1[168]="liang";
                    data2[168]=15944;
                    data1[169]="liao";
                    data2[169]=15933;
                    data1[170]="lie";
                    data2[170]=15920;
                    data1[171]="lin";
                    data2[171]=15915;
                    data1[172]="ling";
                    data2[172]=15903;
                    data1[173]="liu";
                    data2[173]=15889;
                    data1[174]="long";
                    data2[174]=15878;
                    data1[175]="lou";
                    data2[175]=15707;
                    data1[176]="lu";
      

  8.   

    啊 这也行啊?不过谢谢 32zyc()
      

  9.   

    public class ZH
    {
    public static void main(String[] args)
    {
    String s1="张三";
    String s2="李四";
    char[] charArray = s1.toCharArray();
    System.out.println(charArray[0]+Character.digit(charArray[0],16));
    char[] charArray2 = s2.toCharArray();
    System.out.println(charArray2[0]+Character.digit(charArray2[0],16));
    System.out.println(s1.compareTo(s2));
    }
    };
    输出
    24351
    26445
    -2094
    也就是
    张 与 李  的unicode值相差2094
      

  10.   

    在jsp里面:
    String a="张三";
    String b="李四";
    if(a.compareTo(b)>0)
    out.println(a); 
    else
    out.println(b);
      

  11.   

    这帖子不能编辑,charArray[0]+Character.digit(charArray[0],16)改(int)charArray[0]也是一样的,呵呵,强制类型转换输出unicode值
      

  12.   

    import java.util.Comparator; public class PinYinComparator implements Comparator {   public int compare(Object o1, Object o2) { 
        try { 
          String s1=new String(o1.toString().getBytes("GB2312"),"ISO-8859-1"); 
          String s2=new String(o2.toString().getBytes("GB2312"),"ISO-8859-1"); 
          return s1.compareTo(s2); 
        } 
        catch (Exception e) { 
          e.printStackTrace(); 
        } 
        return 0; 
      } 
    } import java.util.ArrayList; 
    import java.util.Collections; public class Tester { 
      public static void main(String[] args) { 
        ArrayList list=new ArrayList(); 
        list.add("啊"); 
        list.add("包"); 
        list.add("从"); 
        list.add("随"); 
        list.add("其"); 
        list.add("在"); 
        list.add("平"); 
        list.add("人"); 
        list.add("他"); 
        list.add("以"); 
        list.add("和"); 
        list.add("就"); 
        list.add("可"); 
        list.add("了"); 
        list.add("没"); 
        list.add("额"); 
        list.add("分"); 
        list.add("个"); 
        Collections.sort(list,new PinYinComparator()); 
        for (int i=0;i<list.size();i++) { 
          System.out.println(list.get(i)); 
        } 
      } } 
    抄来的,http://www.javaresearch.org/code/thread.jsp?column=721&thread=21645
    文章的作者猜想汉字本来就是按照拼音先后来排的,哈哈~
    可是张的unicode值比李小哦...这估计是GB2312和unicode的区别了...值得研究...
      

  13.   

    compareTo是按Unicode排,不是按拼音排吧
      

  14.   

    对compareTo是按照unicode的,而且unicode好象不是按照拼音排中文的,呵呵
      

  15.   

    不用自己实现吧,这个应该有专门的包,到google找一下。