String类下compareTo()方法

news/2024/7/6 1:49:32
String类下compareTo()方法
比较两个字符串,依次对比两个字符串中字符的ASC码,两个字符的ASC码相等则继续比较下两个字符直至比较出不同的两个字符跳出方法.方法返回值类型为整型.
例如
String a = "2345";
String b = "2322";
则a.compareTo(b)返回2
b.compareTo(a)返回-2
如果两个字符串相等,则返回值为0

自己的理解还有是偏差的,下面是经典的解释

compareTo

public int compareTo(String anotherString)
按字典顺序比较两个字符串。该比较基于字符串中各个字符的 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()
 

 

指定者:
接口 Comparable<String> 中的 compareTo
参数:
anotherString - 要比较的 String
返回:
如果参数字符串等于此字符串,则返回 0 值;如果按字典顺序此字符串小于字符串参数,则返回一个小于 0 的值;如果按字典顺序此字符串大于字符串参数,则返回一个大于 0 的值。

compareToIgnoreCase

public int compareToIgnoreCase(String str)
不考虑大小写,按字典顺序比较两个字符串。此方法返回一个整数,它的正负号是调用 compareTo 的正负号,调用时使用了字符串的规范化版本,其大小写差异已通过对每个字符调用 Character.toLowerCase(Character.toUpperCase(character)) 得以消除。

注意,此方法 考虑语言环境,因此可能在某些特定的语言环境中产生不理想的排序。java.text 包提供 Collators 来完成语言环境敏感的排序。

 

参数:
str - 要比较的 String
返回:
一个负整数、零或正整数,视指定的 String 大于、等于还是小于该 String 而定,不考虑大小写。 

http://www.niftyadmin.cn/n/2679853.html

相关文章

alert() 追加到节点的后面_jQuery中CSS简单操作(获取,追加,移除,切换,判断)【406】...

先看下面的动图&#xff0c;了解一下本例最后实现的效果。attr();本身是设置标签属性用的&#xff0c;这里用来设置样式和获取样式。addClass();这个是追加样式。removeClass();这是移除样式。toggleClass();这是切换样式&#xff0c;切换的意思很简单&#xff0c;有就删除&…

2018年10月24日提高组 T3 TRAVEL

大意 给定每个点之间连接道路的限制l,rl,rl,r&#xff0c;求出从1到nnn可以带走最大的区间&#xff0c;如果有多组解&#xff0c;输出字典序最小的一组 思路 首先很容易想到dfsdfsdfs #include<algorithm> #include<vector> #include<cstdio> #define ri …

Oracle PL/SQL 程序设计读书笔记 - 第15章 数据提取

Oracle PL/SQL 程序设计读书笔记 - 第15章 数据提取 Oracle PL/SQL 程序设计读书笔记 - 第15章 数据提取 每当在PL/SQL中执行一个SQL语句时&#xff0c;Oracle数据库都会为这个语句分配一个私有工作区&#xff0c;并在系统全局区&#xff08;SGA&#xff09;中管理该SQL语句指…

如何在jsp页面中引入css样式表文件和javascript文件

一&#xff1a;如何在jsp页面中引入css样式表文件? 1&#xff0c; 首先把写好的css样式表内容存为*.css格式。如style.css 2&#xff0c; 在页面中引入这个css 样式文件。用如下的方式引入。 <link rel"stylesheet" href"./css/style.css" type&qu…

七夕节(打表水题)

七夕节 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5086 Accepted Submission(s): 1785 Problem Description七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们…

2018年10月24日提高组模拟赛Week 6总结

第一题数论基础&#xff0c;第二题打了暴力&#xff0c;第三题也暴力&#xff0c;于是水了Rank3Rank3Rank3&#xff0c;不得不膜拜ssl_wycssl\_wycssl_wyc巨老200 T1 码灵鼠 https://blog.csdn.net/xuxiayang/article/details/83419505 占比方法0~100各种蒙分100数论基础T2 S…

通过程序一句话备份恢复SqlServer数据库

通过程序一句话备份恢复SqlServer数据库 备份语句&#xff1a;BACKUP DATABASE[__DataBaseName__] TO DISK N//LocalCoputerNameOrIP/ShareDocument/FileName.bat WITH INIT, NOUNLOAD,NOSKIP,STATS10, NOFORMAT 恢复语句&#xff1a;Restore DataBase[__DataBaseName__] fro…

c语言求一元二次方程的根_C语言程序的测试

C语言程序的测试系统提供的图片程序调试的任务是排除程序中的错误&#xff0c;使程序能顺利地运行并得到预期的效果。程序的调试阶段不仅要发现和消除语法上的错误&#xff0c;还要发现和消除逻辑错误和运行错误。除了可以利用编译时提示的“出错信息”来发现和改正语法错误外&…