原理:

  从两个字符串的第一个字符开始逐个进行比较(按字符的ASCII值进行大小比较),直到出现不同的字符或遇到‘\0’为止。

  如果全部字符都相同,就认为两字符串相等,返回0;

  若出现了不相同的字符,则以第一个不相同的字符比较结果为准,若前者字符大于后者,则返回1,否则返回-1.

注意:

顺序是第一个对象与第二个对象比较!

  前>后 return 1;

  前=后 return 0;

  前<后 return -1

CompareTo方法与Compare方法实现的功能是一样的,只是参数的位置放的不一样而已

eg. s1.CompareTo(s2):

  表示字符串s1与s2进行大小比较,

  s1<s2   s1.CompareTo(s2)结果为:-1

  s1=s2   s1.CompareTo(s2)结果为:0

  s1>s2   s1.CompareTo(s2)结果为:1

eg.String.Compare(s1,s2)该方法所显现的功能与上面一样,连返回值结果也一样。

  表示字符串s1与s2进行大小比较,

  s1<s2  String.Compare(s1,s2)结果为:-1

  s1=s2   String.Compare(s1,s2)结果为:0

  s1>s2   String.Compare(s1,s2)结果为:1

原创文章如转载,请注明出处“伊人博客”

字符串比较的原理是什么?相关推荐

  1. 深入 Python 解释器源码,我终于搞明白了字符串驻留的原理!

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:arpit 译者:豌豆花下猫 声明:本翻译是出于交流学习的目 ...

  2. 一文彻底搞懂字符串、字符串常量池原理

    文章目录 1. 常量池概述 1.1 静态常量池.运行时常量池与字符串常量池的区别 2. 字符串常量池的设计初衷 3. 字符串的几种创建方式及原理 ①:直接赋值 ②:new String() ③:int ...

  3. python字符串strip的作用_Python字符串函数strip()原理及用法详解

    Python字符串函数strip()原理及用法详解 strip:用于移除字符串头尾指定的字符(默认为空格)或字符序列.注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符. 语法:str.s ...

  4. 字符串Hash的原理与应用

    字符串Hash无论是在ACM竞赛中还是在工程中都有着广泛的应用,所以很有必要掌握好它的用法.主要分为两个部 分:Hash映射和冲突处理.而本文主要来详细讲解Hash映射的方法及应用,下篇文章将会介绍如 ...

  5. python对象底层原理_Python字符串对象实现原理详解

    在Python世界中将对象分为两种:一种是定长对象,比如整数,整数对象定义的时候就能确定它所占用的内存空间大小,另一种是变长对象,在对象定义时并不知道是多少,比如:str,list, set, dic ...

  6. Redis源码阅读笔记(1)——简单动态字符串sds实现原理

    首先,sds即simple dynamic string,redis实现这个的时候使用了一个技巧,并且C99将其收录为标准,即柔性数组成员(flexible array member),参考资料见这里 ...

  7. java 编译原理 字符串_Java编译原理(javac)

    Java中的编译分为两个部分: 源码文件编译成字节码文件(前端编译) 字节码文件被虚拟机加载以后编译成机器码(后端编译) 对于开发来说接触的一般都是第一个步骤也就是源码编译成字节码文件(class文件 ...

  8. JAVA进阶开发之(String字符串的存储原理)

    我们现在开始学习的就是一些工具类 这些工具类只需要我们学会查阅帮助文档进行开发就可以实现很多功能 例如:我们查看工具类String 关于java JDK中内置的一个类:java.lang.String ...

  9. 文法G[E]分析表分析字符串(i+)-编译原理

    已知文法G[E]分析表(如下所示) ) 下面来分析(i+) 首先在分析区填入#E,余留下输入串为(1+)#,所用产生式查上表:E行(列,所以为:E->TE' 如下图所示: 随后E出栈,所用产生式 ...

最新文章

  1. nginx--之静态服务器
  2. jQuery控制tab标签页
  3. 深入浅出 PouchContainer 容器化业务实践 Workshop 开放报名
  4. Socket is closed 可能原因
  5. ASCII码、ISO8859-1、Unicode、GBK和UTF-8 的区别
  6. C++ const型成员函数与 non-const型成员函数
  7. 在MySQL中使用正则表达式
  8. 使用手机访问vue项目
  9. 步数精灵v4.0霸占好友排行榜首位 安卓版
  10. c语言-基本计算 pm2.5,pm2.5标准
  11. 很全!国内外网络安全厂商有哪些?
  12. 力扣刷题思考:347. 前 K 个高频元素
  13. 【项目管理】测量绩效域管理
  14. android 来电默认铃声,android – 来电动态覆盖默认铃声
  15. java怎么做界面设计_11-Java 界面设计
  16. mos管h桥电机驱动电路与设计原理图-KIA MOS管 (kiaic.com)
  17. 《沈剑架构师训练营》第8章 - 架构分层
  18. 实战:从零开始制作一个跑步微信小程序
  19. ET篇:master消息机制介绍(一般消息的流转)
  20. 任正非三天访问四校与巴斯德象限

热门文章

  1. linux取证教程,Linux中的取证(Forensics in Linux)
  2. c语言常量l12和意义,课件c语言l12_指针和数组
  3. java 方法 示例_Java BigDecimaldividAndRemainder()方法与示例
  4. 服务器进系统黑屏只有鼠标怎么办,【干货】开机进入系统桌面后只有一个鼠标(黑屏)怎么办(文末有惊喜)...
  5. 正则判断手机号地区_一组匹配中国大陆手机号码的正则表达式
  6. 《计算复杂性:现代方法》——导读
  7. 河南固始计算机学校哪个好,信阳市最好的5所高级中学,每一所都实力雄厚,都出过高考状元...
  8. LLVM每日谈之二十九 面向机器学习的编译器——Glow
  9. 信息系统项目管理师2017年下半年下午案例分析题及答案
  10. Flash 与数学:等速螺线