• 技术文章 >Java >Java基础

    java compareto方法有什么用

    青灯夜游青灯夜游2021-05-08 16:34:47原创3348

    在java中,compareTo()方法用于将Number对象与方法的参数进行比较,语法格式“变量1.compareTo(变量2)”;compareTo()方法从值的第一位开始比较,如果遇到不同的字符,则返回这两个字符的ascii值差值。

    本教程操作环境:windows7系统、java8版、DELL G3电脑。

    java中的compareto方法

    compareTo() 方法用于将 Number 对象与方法的参数进行比较。可用于比较 Byte, Long, Integer等。

    compareTo方法从第一位开始比较, 如果遇到不同的字符,则马上返回这两个字符的ascii值差值.返回值是int类型

    示例

    1.返回参与比较的前后两个字符串的asc码的差值,如果两个字符串首字母不同,则该方法返回首字母的asc码的差值

    String a1 = "a";
    String a2 = "c";        
    System.out.println(a1.compareTo(a2));//结果为-2

    2.即参与比较的两个字符串如果首字符相同,则比较下一个字符,直到有不同的为止,返回该不同的字符的asc码差值,

    String a1 = "aa";
    String a2 = "ad";        
    System.out.println(a1.compareTo(a2));//结果为-3

    3.如果两个字符串不一样长,可以参与比较的字符又完全一样,则返回两个字符串的长度差值

    String a1 = "aa";
    String a2 = "aa12345678";        
    System.out.println(a1.compareTo(a2));//结果为-8

    4.返回为正数表示a1>a2, 返回为负数表示a1<a2, 返回为0表示a1==a2;

    5.数字类型不能用compareTontint的比较不能用compareTo方法,直接用大于(>) 小于(<) 或者 等于(==) 不等于(!=)来比较即可

    int num1 = 4;
    int num2 = 5;        
    num1.compareTo(num2);//Cannot invoke compareTo(int) on the primitive type int

    你可以先把你的int型变量转换成String再进行比较

    int num1 = 4;
    int num2 = 5;        
            
    //parse int to String    
    System.out.println((num1+"").compareTo(num2+""));//-1
    System.out.println(new Integer(num1).toString(). compareTo(new Integer(num2).toString()));//-1
    System.out.println(String.valueOf(num1).compareTo(String.valueOf(num2)));//-1

    6.compareToIgnoreCase忽略大小写

    不考虑大小写,按字典顺序比较两个字符串。此方法返回一个整数,它的正负号是调用 compareTo 的正负号,调用时使用了字符串的规范化版本,其大小写差异已通过对每个字符调用 Character.toLowerCase(Character.toUpperCase(character)) 得以消除。
    注意,此方法不 考虑语言环境,因此可能在某些特定的语言环境中产生不理想的排序。java.text 包提供 Collators 来完成语言环境敏感的排序。

    7.int型可以直接比较,所以没有用到compareTo比较,如果声明的是Date、String、Integer、或者其他的,可以直接使用compareTo比较,

    Integer n1 = 5;
    Integer n2 = 6;
    System.out.println(n1.compareTo(n2));//-1

    相关视频教程推荐:Java视频教程

    以上就是java compareto方法有什么用的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:java compareto
    上一篇:eclipse怎么设置utf8编码 下一篇:simpledateformat线程为什么不安全
    线上培训班

    相关文章推荐

    • Notepad++编译、运行Java的方法• 十个堪称神器的适合学习Java的网站• 适合新手的免费学习Java的网站(推荐)• java的八种基本数据类型是什么?

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网