Java中String类中compareTo( )方法

compareTo方法是比较简单的,我们可以直接看其源码:
源码如下:

public int compareTo(String anotherString) {int len1 = value.length;int len2 = anotherString.value.length;int lim = Math.min(len1, len2);char v1[] = value;char v2[] = anotherString.value;int k = 0;while (k < lim) {char c1 = v1[k];char c2 = v2[k];if (c1 != c2) {return c1 - c2;}k++;}return len1 - len2;}

整个思路非常简单,跟字典排序是一样的,即比较参与的两个字符串,如果首字符相同,则比较下一个字符,直到有不同的为止,返回不同的字符之间的ASC码差值。如果两个字符串不一样长,参与比较的字符又完全一样(即一个是另一个的子串),则返回两个字符串的长度差值。(负数表示第一个串小,0表示两串相等,正数表示第一串较大)

示例代码展示:

System.out.println("ab".compareTo("a"));
System.out.println("abcdef".compareTo("a"));
System.out.println("abcdef".compareTo("abc"));
System.out.println("abcdef".compareTo("ace"));
output:
1
5
3
-1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/555617.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python elif可以单独使用_Python的elif语句怎么用

else和elif语句也可以叫做子句&#xff0c;因为它们不能独立使用&#xff0c;两者都是出现在if、for、while语句内部的。else子句可以增加一种选择&#xff1b;而elif子句则是需要检查更多条件时会被使用&#xff0c;与if和else一同使用&#xff0c;elif是else if 的简写。if和…

SpringMVC接收哪些类型参数参数

支持的数据类型&#xff1a; 基本类型参数&#xff1a; 包括基本类型和 String 类型 POJO 类型参数&#xff1a; 包括实体类&#xff0c;以及关联的实体类 数组和集合类型参数&#xff1a; 包括 List 结构和 Map 结构的集合&#xff08;包括数组&#xff09; SpringMVC …

禁用当前的账户win7_系统小技巧:服务客人 开启Windows 10来宾账户

出于安全考虑&#xff0c;Windows 10默认以管理员账户登录&#xff0c;没有开启来宾账户。但对于那些只需在电脑上浏览网页或收看电子邮件的用户&#xff0c;给他们开启来宾账户非常必要。来宾权限或账户的开启&#xff0c;可以通过下面的两种方法。1. 通过系统设置 开启来宾权…

Java之接口的静态方法的定义和使用

格式如下&#xff1a;&#xff08;就是将abstract或者default换成ststic即可&#xff0c;带上方法体&#xff09; public static 返回值类型 方法名称&#xff08;参数列表&#xff09;{方法体----}代码如下&#xff1a; //定义一个接口 public interface MyInterfaceStatic …

三阶魔方还原步骤图_三阶魔方公式图解、教程

三阶魔方公式、魔方图解、魔方教程&#xff0c;从零基础到精通&#xff01;魔方还原法 Rubics Cube Solution ————先看理论“魔方的还原方法很多精彩内容&#xff0c;尽在百度攻略&#xff1a;https://gl.baidu.com在这里向大家介绍一种比较简单的魔方六面还原方法。这种方…

通俗易懂告诉你CPU/GPU是什么?

通俗易懂告诉你CPU/GPU是什么&#xff1f; CPU CPU( Central Processing Unit, 中央处理器)就是机器的“大脑”&#xff0c;也是布局谋略、发号施令、控制行动的“总司令官”。 CPU的结构主要包括运算器&#xff08;ALU, Arithmetic and Logic Unit&#xff09;、控制单元&a…

mysql正在加载_mysql 数据库基本操作

CREATE TABLE classes(id INT PRIMARY KEY AUTO_INCREMENT COMMENT班级表id,name VARCHAR(20) COMMENT班级名称);运行DESCRIBE classes;--------------------------------------------------------| Field | Type | Null | Key | Default | Extra |---------------------------…

CPU和GPU的区别是什么?

CPU是一种微处理器&#xff0c;用于执行程序根据操作(如算术、逻辑、控制和输入-输出)给出的指令。相反&#xff0c;GPU最初设计用于在电脑游戏中渲染图像。CPU强调低延迟&#xff0c;而GPU则强调高吞吐量。 CPU Vs GPU 内容 比较表格定义区别关键不同结论 1. 比较表格 从上…

乌班图配置mysql Java_Ubuntu准备+MySQL+Java

Linux服务器准备1 . 安装Ubuntu系统2 . 修改root用户密码sudo passwd root #修改root账户密码logout # 退出当前账号并重新登录#如果需要关机使用 halt 命令3 . 更新所有Linux的开发包apt-get update4 . 配置相关的编译包apt-get install gcc libpcre3 libpcrecpp* libpcre3-de…

java截取指定字符串中的某段字符

利用字符串的substring函数来进行截取。 其中&#xff0c;substring函数有两个参数&#xff1a; 1、第一个参数是开始截取的字符位置。&#xff08;从0开始&#xff09; 2、第二个参数是结束字符的位置1。&#xff08;从0开始&#xff09; indexof函数的作用是查找该字符串中…

JSON中的JSON.parseArray()、JSON.parseObject()、JSON.tojsonString()

1、JSON.parseObject和JSON.toJSONString JSON.parseObject&#xff0c;是将Json字符串转化为相应的对象&#xff1b;JSON.toJSONString则是将对象转化为Json字符串。在前后台的传输过程中&#xff0c;JSON字符串是相当常用的&#xff0c;这里就不多介绍其功能了&#xff0c;直…

mysql是gplv3,Affero-GPL和GPLv3之间的区别

解决方案Assume the following:You are developing a server side application in GPL. Now this application serves HTML and not an executable which is directly executed on your machine. That means that another guy could take the GPL code, adapt it and does not …

mysql cluster proxy_GitHub - freedaxin/maya: a mysql cluster proxy powered by node.js

maya安装node.js依赖node v0.8最新版&#xff0c;暂不支持更高的node版本&#xff0c;此处以0.8.7版本为例。root安装(官方要求python2.5.2以上)tar -zxf node-v0.8.7.tar.gzcd node-v0.8.7./configure --prefix/usr/local/sinasrv2/makemake install在root环境变量中增加如下两…

常见HTTP状态码(200、301、302、500等)解说

对网站管理工作者来说有个词不陌生&#xff0c;HTTP状态码&#xff0c;它是用以表示网页服务器HTTP响应状态的3位数字代码。状态码的第一个数字代表了响应的五种状态之一。 1XX系列&#xff1a;指定客户端应相应的某些动作&#xff0c;代表请求已被接受&#xff0c;需要继续处…

linux c语言编写聊天室mysql_Linux平台上用C语言实现与MySQL数据库的连接

测试代码如下&#xff1a;//查询操作#include #include #include #define HOST "localhost"#define USERNAME "用户名"#define PASSWORD "密码"#define DATABASE "PublicResourcesDB"int main(void){MYSQL mysql;MYSQL_ROW row;MYSQL_…

java开发安装mysql_从零开始搭建Java开发环境第二篇:如何在windows10里安装MySQL

1 下载安装包1.1 压缩包[外链图片转存失败(img-oesO8K09-1566652568838)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw "点击并拖拽以移动")]1.2 安装包使用安装包安装则无需后续步骤[外链图片转存失败(img-Y3x59iO4-15666525…

java获取json中某个字段

import com.alibaba.fastjson.JSONObject; public class JsonTest {public static void main(String[] args) {// json串(以自己的为准)String str "{"id":"75","shoppingCartItemList":[{"id":"407","num"…

abap数据类型转换_ABAP 中JSON格式的转换与解析

正文RT&#xff0c;JSON是当今十分流行的一种轻量数据格式&#xff0c;广泛地应用于各种数据交换场景中。本文会介绍一种比较简单的将ABAP中的数据转换为JSON格式的方法。(如果你是因为引号的问题搜索到了这篇文章&#xff0c;请直接拉到底部“其它部分”)序列化使用cl_trex_js…

java解析多层嵌套json字符串

java解析多层嵌套json字符串 java分别解析下面两个json字符串 package jansonDemo;import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject;public class TestJSON {/*** JSON实际上也是键值对&#xff08;"…

JVM中的五大内存区域划分详解

一、快速扫盲 1. JVM是什么 JVM是Java Virtual Machine的缩写&#xff0c;即咱们经常提到的Java虚拟机。虚拟机是一种抽象化的计算机&#xff0c;有着自己完善的硬件架构&#xff0c;如处理器、堆栈等&#xff0c;具体有什么咱们不做了解。目前我们只需要知道想要运行Java文件…