首页 > 编程语言 >Java中两个字符串进行大小比较

Java中两个字符串进行大小比较

时间:2023-05-16 10:12:40浏览次数:45  
标签:字符 Java String s1 大小 compareTo 字符串 ASCII

一:大小比较:使用 String.compareTo 方法 如果需要忽略大小写,使用compareToIgnoreCase

compareTo() 的返回值是int, 它是先比较对应字符的大小(ASCII码顺序)
1、如果字符串相等 返回值0
2、如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)
(负值表示前字符串的值小于后字符串,正值表示前字符串大于后字符串)
3、如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,
直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度.

例:

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)

二:字符串是否相等比较
只能使用equals()方法,不能使用“==”。

   

标签:字符,Java,String,s1,大小,compareTo,字符串,ASCII
From: https://www.cnblogs.com/wanglongjiang/p/17404039.html

相关文章

  • 汉字转换为拼音的JavaScript库的比较
    JSPinyin有提供了两个方法:<依赖mootools>1)一个是将汉字翻译为拼音,其中每一个字的首字母大写;1pinyin.getFullChars(this.value);2)一个是可以将每一个字的拼音的首字母提取出来,是大写的形式。1pinyin.getCamelChars(this.value);还可以设置是否判断多音字。只是功能比较简单,如......
  • Java生成缩略图之Thumbnailator
    Thumbnailator是一个为Java界面更流畅的缩略图生成库。从API提供现有的图像文件和图像对象的缩略图中简化了缩略过程,两三行代码就能够从现有图片生成缩略图,且允许微调缩略图生成,同时保持了需要写入到最低限度的代码量。同时还支持根据一个目录批量生成缩略图。 http://code.googl......
  • java获取目录下文件名称
    1.package2.import3.import4.import5.6./**7.*读取目录及子目录下指定文件名的路径,返回一个List8.*/9.10.publicclass11.privatestaticLoggerlogger=Logger.getLogger(FileViewer.class);12.13./**14.*@parampath15.......
  • 01-面试必会-JAVA基础篇
    1.Final有什么用?被final修饰的类不可以被继承被final修饰的方法不可以被重写被final修饰的变量不可以被改变,被final修饰不可变的是变量的引用,而不是引用指向的内容,引用指向的内容是可以改变的2.什么是重载(Overload)和重写(Override)?重载:发生在同一个类中,方法名相......
  • Java初学者之数据类型
    今天下午看了点数据类型的东西,来这里总结一下。顺便锻炼一下自己的思维能力.首先数据类型的分类:1. 基本数据类型2.引用数据类型基本数据类型有八种:整数型:byte(1B)short(2B)int(4B)long(8B),小数型:float(4B),double(8B),布尔值:true,false(1bit),字符型:char(2B)引用数......
  • java面向对象
    java面向对象编程面向对象思想:物以类聚,分类的思维模式。思考问题首先会解决问题需要那些分类适合处理复杂的问题,适合多人的协作问题面向对象的本质:以类的方式组织代码,以对象的组织(封装)数据特征:抽象三大特性:封装,继承,多态static加了static的方法可以通过类名直接调用......
  • lombok (java 驼峰规范导致的 JSON 序列化问题)
    1、问题描述有一个接收类,出于某种原因(调用第三方接口)会使用首字母大写的情况@DatapublicclassHelloModel{ privateStrigATest; privateStrigBTest;}当我使用这个类接收一个JSON格式的数据,转换为对应的这个HelloModel类时,会出现ATest和BTest都为null的情......
  • window 通过idea的java工程。生成bat文件
    参考两个大佬的。一、java工程,生成jar包。参考:https://www.cnblogs.com/blog5277/p/5920560.html重点:右键项目名--->选择OpenModuleSetting(默认快捷键F4)--->打开的弹框左侧选择Libraries--->弹框中间点击“+”号--->Java--->在弹出的选择框中选择所依赖的所有jar包(将所有jar......
  • 2023-05-15:对于某些非负整数 k ,如果交换 s1 中两个字母的位置恰好 k 次, 能够使结果字
    2023-05-15:对于某些非负整数k,如果交换s1中两个字母的位置恰好k次,能够使结果字符串等于s2,则认为字符串s1和s2的相似度为k。给你两个字母异位词s1和s2,返回s1和s2的相似度k的最小值。输入:s1="abc",s2="bca"。输出:2。答案2023-05-15:解题思路:定......
  • Java通过反射获取Fields、Method、Constructor示例
    1.getFields()和getDeclaredFields()getFields能获取该类和父类(包括Object)public的属性,getDeclaredFields获取该类public和private的属性2.getMethods()和getDeclaredMethods()getMethods能获取该类和父类(包括Object)public的方法,getDeclaredMethods获取该类public和privat......