我有两个字段,例如:a,b ,都是字符型的。现在想实现:如果a<b,那么程序继续向下进行。请问:用compareTo该怎么写???

解决方案 »

  1.   

    String类型已经实现了compareTo()方法,可以直接用
      

  2.   

    字符型compareTo()方法已经实现
      

  3.   

         字符型compareTo()方法已经实现,我给你换个自定义类型的吧public class TestStudent {
    private String strName;
    private String strID;//唯一
    public TestStudent() {
    // TODO Auto-generated constructor stub
    }
    public TestStudent(String name,String id){
    setStrName(name);
    setStrID(id);
    }
    public String getStrID() {
    return strID;
    }
    public void setStrID(String strID) {
    this.strID = strID;
    }
    public String getStrName() {
    return strName;
    }
    public void setStrName(String strName) {
    this.strName = strName;
    }
    @Override
    public String toString() {

    return this.getStrName()+":"+this.getStrID();
    }

    }import java.util.Comparator;
    import java.util.Set;
    import java.util.TreeSet;public class TestTreeSet {
    public static void main(String[] args) {
    Set<TestStudent> treeSet = new TreeSet<TestStudent>(new Comparator<TestStudent>() { public int compare(TestStudent o1, TestStudent o2) {
    return o1.getStrID().compareTo(o2.getStrID()); } });
    treeSet.add(new TestStudent("lijie","121231"));
    treeSet.add(new TestStudent("lijie","5254"));
    for(TestStudent s:treeSet){
    System.out.println(s);
    }
    }}
      

  4.   

       
        if(a.compareTo(b)<0){
             //自己的代码
        }
      

  5.   

    if(a.compareTo(b)<0)
    按字典顺序比较两个字符串。该比较基于字符串中各个字符的 Unicode 值。按字典顺序将此 String 对象表示的字符序列与参数字符串所表示的字符序列进行比较。如果按字典顺序此 String 对象位于参数字符串之前,则比较结果为一个负整数。如果按字典顺序此 String 对象位于参数字符串之后,则比较结果为一个正整数。如果这两个字符串相等,则结果为 0;compareTo 只在方法 equals(Object) 返回 true 时才返回 0。 
    这是字典排序的定义。如果这两个字符串不同,那么它们要么在某个索引处的字符不同(该索引对二者均为有效索引),要么长度不同,或者同时具备这两种情况。如果它们在一个或多个索引位置上的字符不同,假设 k 是这类索引的最小值;则在位置 k 上具有较小值的那个字符串(使用 < 运算符确定),其字典顺序在其他字符串之前。在这种情况下,compareTo 返回这两个字符串在位置 k 处两个char 值的差,即值:  this.charAt(k)-anotherString.charAt(k)
     如果没有字符不同的索引位置,则较短字符串的字典顺序在较长字符串之前。在这种情况下,compareTo 返回这两个字符串长度的差,即值: 
     this.length()-anotherString.length()
      

  6.   

    if (a.compareTo(b)<0){
      //a<b}
    else{
     //a>=b}
      

  7.   

    public int compareTo(Object o) { }重写。
      

  8.   

    compareTo方法是Object对象的。String对象已经给它实现了。底层是根据字符的ASCII码比较大小。程序里面可以直接调用"a".compareTo("b").如果对象是自定义的,可以在对象里面重写此方法。
      

  9.   

    Comparable<T>这个接口定义的compareTo方法,自定义对象可以实现Comparable<T>接口,并给出compareTo的实现,完成比较。详细的看API。
      

  10.   

    compareTo(String anotherString)是String类的方法,API中是这样描述的:“按字典顺序比较两个字符串。该比较基于字符串中各个字符的 Unicode 值。如果参数字符串等于此字符串,则返回值 0;如果此字符串按字典顺序小于字符串参数,则返回一个小于 0 的值;如果此字符串按字典顺序大于字符串参数,则返回一个大于 0 的值。”楼主说的是字符型数据,不知道你所说的是数据库中的“字符型”还是JAVA中的char。无所谓,只要你知道了compareTo方法的用法,就不难实现你想要的结果了。
      

  11.   

    实现Comparable接口重写compareTo()方法;如果类实现了该方法,当放入排序集合时,自动按照compareTo()进行排序
      

  12.   

    public DataTranVo Update(DataTran dt) throws Exception {
            conn = pool.getConnection();
            vo = new DataTranVo();
            cmd = new WdCommon();
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String pkid = (String) dt.strPk;
            String jzmj = (String) dt.retForm.get("$jzmj");
            String yymj = (String) dt.retForm.get("$yymj");
            /////        
            
                String sql = "";
                String params[] = {};
                try {
                    boolean allowadd = ///;
                    if (allowadd) {
                        QueryRunner qr = new QueryRunner();
                        qr.update(conn, sql, params);
                        boolean issuccess = cmd.CommonSetLog();
                        if (issuccess) {
                                DbUtils.commitAndClose(conn);
                                dt.sMessage = "网点基本信息修改成功!";
                        } else {
                            DbUtils.rollbackAndClose(conn);
                            dt.sMessage = "网点基本信息修改失败!";
                        }
                    } else {
                        dt.sMessage = "该单位已经存在代码为:" + wdbm + "的网点,请重新设置网点代码!";
                        DbUtils.close(conn);
                    }
                    vo.setDataTran(dt);
                    return vo;
                } catch (Exception e) {
                    DbUtils.rollbackAndClose(conn);
                    dt.sMessage = "网点基本信息修改失败!";
                    e.printStackTrace();
                    vo.setDataTran(dt);
                    return vo;
                }
        }
    if kssj.compareTo(jssj){
       //
    } else {
      //
    }这个我应该写在上面那段代码的什么地方?
      

  13.   

    if (kssj.compareTo(jssj)<0){ 
      // 
    } else { 
      // 
    }这个我应该写在上面那段代码的什么地方?
      

  14.   

    if (kssj.compareTo(jssj) <0){ 
      // 
    } else { 
      // 
    }这个我应该写在上面那段代码的什么地方?
    ======================================================
    if (kssj.compareTo(jssj) <0){ 
    doSomething;//代码增加在这里 
    } else { 
      // 
    }
      

  15.   

    if (kssj.compareTo(jssj) <0)这个怎么总是不执行啊