今天,简单讲讲android里String的compareTo函数的使用。

昨天,自己想将字符串进行一个排序,但是排序就必须比较String的大小,这里的String不是数字,而是字符“abd”这样的形式,所以在网上查找了资料,发现compareTo可以解决这个问题。这里记录一下。

compareTo()的返回值是整型,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度.

例:
String s1 = "abc"; String s2 = "abcd"; String s3 = "abcdfg"; String s4 = "1bcdfg"; String s5 = "cdfg"; System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1) System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3) System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48) System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)

具体的讲一下:

描述

java.lang.String.compareTo() 方法比较两个字符串的字典。比较是基于字符串中的每个字符的Unicode值。此String对象表示的字符序列的参数字符串表示的字符序列进行比较字典.

  • 其结果是负的整数,如果此String对象字典前面的参数字符串
  • 其结果是一个正整数,如果此String对象字典如下的参数字符串
  • 结果是零,如果两个字符串相等,CompareTo返回0时,equal(Object)方法将返回true。

声明

以下是声明java.lang.String.compareTo()方法

public int compareTo(String anotherString)

参数

  • anotherString -- 这是用于进行比较字符串.

返回值

此方法如果这个字符串是等参数字符串那么返回值0,如果这个字符串是按字典顺序小于字符串参数那么返回小于0的值,如果此字符串是按字典顺序大于字符串参数那么一个大于0的值

异常

  • NA

实例

下面的示例演示使用的java.lang.String.compareTo()方法

import java.util.Scanner;public class Demo01 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);for (;;) {String a = sc.next();String b = sc.next();int num = a.compareTo(b);System.out.println(num);}}
}1.当两个比较的字符串是英文且长度不等时,1)长度短的与长度长的字符一样,则返回的结果是两个长度相减的值a="hello";b="hell";num=1;或者a="h";b="hello";num=4;2)长度不一样且前几个字符也不一样,从第一位开始找,当找到不一样的字符时,则返回的值是这两个字符比较的值a="assdf";b="bdd";num=-1;2.当两个比较的字符串是英文且长度相等时,1)一个字符a="a";   //97b="b";   //98num=-1;2)多个字符,第一个字符不同则直接比较第一个字符a="ah";    //a=97b="eg";    //e=101num=-4;3)多个字符,第一个字符相同则直接比较第二个字符,以此类推a="ae";   //e=101b="aa";   //a=97num=4;

android 使用compareTo比较大小就讲完了。

就这么简单。



android 使用compareTo比较大小相关推荐

  1. Android固定宽度文字自适应大小

    Android固定宽度文字自适应大小 参考自: https://blog.csdn.net/qq_29443203/article/details/78960691?utm_medium=distri ...

  2. Android禁止app字体大小跟随系统字体大小调节

    Android禁止app字体大小跟随系统字体大小调节 针对字体不随系统应用改变而改变,不然会导致原来的一些布局变化,在Application中重写getResources() @Overridepub ...

  3. Android调整Bitmap图片大小

    #Android调整Bitmap图片大小 /*** 调整图片大小* * @param bitmap* 源* @param dst_w* 输出宽度* @param dst_h* 输出高度* @retur ...

  4. android 图片大小判断,Android列表查看图片大小

    我的列表视图中有一个问题,它包含一个ImageView和每个项目的几个TextView.Android列表查看图片大小 更多或更少的,有TextViews的两条线和一个ImageView的(XX)应该 ...

  5. Android 中的字体大小适配

    Android系统中可以设置字体大小,对于一些设置了特大号字体的设备,往往会出现布局错乱的情况,对此,需要做相关的字体大小适配.根据聊聊 Android 中的字体大小适配这篇博客提供的方案,进行了一些 ...

  6. Android 进程 缓存服务,Android获取应用程序大小和缓存的实例代码

    info package com.qin.appsize; import android.content.Intent; import android.graphics.drawable.Drawab ...

  7. Android Window 如何确定大小/onMeasure()多次执行原因

    前言 之前系统地分析了View Measure 过程: Android 自定义View之Measure过程 我们知道父布局根据自身和子布局的要求给子布局生成测量模式和测量尺寸,并封装在MeasureS ...

  8. android thumb大小,Android 设置thumb图片大小

    xml: android:thumb="@drawable/seekbar_thumb" seekbar_thumb.xml: 修改为: private int seekWidth ...

  9. android surfaceview 大小,Android设置SurfaceView任意大小、任意位置、保持预览宽高比与屏...

    Android设置SurfaceView任意大小.任意位置.保持预览宽高比与屏 Android设置SurfaceView任意大小.任意位置.保持预览宽高比与屏显一致 一.任意大小.任意位置 1) 代码 ...

最新文章

  1. 【381天】我爱刷题系列140(2018.02.21)
  2. IDEA项目搭建七——使用Feign简化消费者端操作
  3. 【Android开发】NDK开发(1)-Hello World!
  4. mysql event使用,用MySQL的Event设置定时任务执行sql语句 | 老疯子
  5. 如何及时还原被删除的活动目录对象
  6. Exception in thread “main“ java.sql.SQLException: The server time zone value
  7. 导入数据库sql 文件乱码
  8. 无需U盘最简单的系统重装Win10
  9. C# winform 魔兽MH全图 :WjeWar V1.5 (完全开源)
  10. 二叉树的镜像(递归非递归)
  11. Linux 进程内存布局(一)
  12. 机场生产运行数据统计指标-第一篇-总述
  13. 面试时遇到『看门狗』脖子上挂着『时间轮』,我就问你怕不怕?
  14. 2021年6月大学英语六级翻译
  15. 《Semi-Supervised Semantic Segmentation with Cross-Consistency Training》 2020CVPR 论文阅读
  16. 腾讯大咖分享 | 腾讯Alluxio(DOP)在金融场景的落地与优化实践
  17. setting 文件 阿里云
  18. 2021-07-24java学习
  19. 学分绩点计算器java_学分绩点计算器
  20. 安装optifine时无法正确打开jar文件 我的世界 optifine 安装 打不开 jar

热门文章

  1. mvc:default-servlet-handler /说明
  2. Safair css hack
  3. 《实战突击.php项目开发案例整合》.(明日科技).[PDF]ckook
  4. C#事件-自定义事件
  5. HDU_1874 畅通工程续(SPFA)
  6. C#测试数据库连接是否成功
  7. stripslashes和addslashes的区别
  8. 创造包容的环境和上升空间
  9. step4 . day7 进程间的通信方式
  10. Spring配置形式之基于注解的方式