betwayapp下载安装
Java中的字符串比较:理解如何使用多个字符串
字符串是Java编程中使用的字符的组合。字符串不是数据类型。相反,它们是String类的对象。Java中的所有字符变量(如“bcde”或“kdsfj1898”)都作为类的实例实现。字符串被认为是不可变的,这意味着值不会改变。要修改字符串,可以使用Java StringBuffer类。
String类包括检查单个字符序列的方法,用于比较字符串、搜索字符串、提取子字符串和创建所有字符的副本。字符串方法还包括大小写转换。String类支持使用“+”操作符连接字符串。String类有许多用于操作的方法,本文将对此进行讨论。
请访问Udemy.com了解更多关于Java字符串比较的信息
创建字符串
例如
字符串str =“Hello World”;相当于char ch [] = {' H ', ' e ', ' l ', ' l ', ' o ', ' ', ' W ', ' o ', ' r ', ' l ', ' d '};字符串str =新的字符串(ch);
比较字符串
String类使用各种方法比较字符串和字符串的一部分。当我们讨论比较弦的时候,涉及到很多因素。例如,如果所有字符串字符都匹配,那么这两个字符串被称为相等。但在编程语言中却不是这样。如果:
- 两个字符串有相同数量的字符和字符匹配。例如,“helloworld”并不等同于“helloworld”。请记住,空格在Java中是一个特殊字符,在执行比较时不能被忽略。
- 比较是区分大小写的。字符串“Hello”和“Hello”不相等,因为第一个字符串的第一个字母是大写的,而第二个是小写的。
- 所有标点符号(特殊字符)都被当作字符,从而影响字符串的比较。
比较字符串预定义的Java方法:
- boolean endsWith(String suffix)和boolean startswith (String prefix):当字符串以指定的子字符串作为参数传递开始或结束时,返回true。
- boolean startsWith(String pref, int off):将作为参数从提到的索引开始的字符串与给定的子字符串进行比较。当找到匹配时返回true。
- intcompareTo(String anotherString):比较两个字符串并返回一个整数值。如果两个字符串相等,则返回0。否则,当第一个字符串大于0时,返回大于0的值,否则返回小于0的值。
- intcompareToIgnoreCase(String string1):比较两个字符串并返回一个整数值。与前面的compareto()方法的唯一区别是comparetoIgnoreCase()不是区分大小写的比较。例如,“ABC”和“ABC”在本例中是相等的。字符串与一般生活中的类似字符进行比较。
- boolean equals(Object aObject):当表示字符串的String对象与当前String对象匹配时,它返回true
- boolean equalsignorrecase (String anotherString):当表示字符串的String对象与当前String对象匹配时,返回true,忽略大小写。
- boolean regionMatches(inttoffset, String other, int offset, intlen):检查指定的区域是否与作为参数传递的区域匹配。该区域是匹配起始点(“tooffset”)到另一个的“offset”的字符串长度。
- boolean regionMatches(booleanignoreCase, int toffset, String other, int offset, intlen):该方法具有与前一个方法相同的功能,但" ignoreCase "将忽略字符的大小写。
- boolean matches(String regex):将字符串与给定的正则表达式进行比较。
region Match函数的简单示例:
public class Demo {public static void main(String[] args) {String search_str = " Hello World Everywhere ";String findMe = " World ";Int search_length = search_str.length();int findMe_length = findMe.length();Boolean found = false;For (int I = 0;i<= (search_length - findMe_length);regionMatches(i, findMe, 0, find_length)) {found = true;System.out.println (search_str。Substring (i, i + find_length);打破; } } if (!found) System.out.println(" Sorry No match found ."); } }
可以使用Java中的预定义函数比较字符串。您还可以编写自己的方法或函数来执行比较。
不使用预定义函数的字符串比较示例:
class Test {public static void main(String args[]) {String str1 = "Jack吃苹果";String str2 = "Jack吃了苹果";//转换字符串到字符数组比较char[] ch1=str1.toCharArray();char [] ch2 = str2.toCharArray ();int f = 0;//查找每个字符串的长度int len1=str1.length();int len2 = str2.length ();//循环比较每个字符for(int y=0;y输出:
字符串是相等的
在上面的例子中,将第一个字符串的每个字符与第二个字符串的每个字符进行比较。一旦出现不匹配,循环就会中断,并在屏幕上显示不匹配消息。否则,将打印成功消息。
使用预定义Java函数比较字符串:
class Test {public static void main(String args[]) {String str1 = "Jack吃苹果";String str2 = "Jack吃了苹果";String str3 = "Jill也吃苹果";//使用compareto预定义Java函数。" result "存储compare to function返回的整数值。// str1与str2比较int result = str1. compareto (str2);System.out.println(结果);//将srt2与str3进行比较result = str2.compareTo(str3);System.out.println(结果);//Str3与str1比较result = Str3 . comparetoignorecase (str1); System.out.println(result); } }输出:
8
8
上面的程序给出三个输出值。Java比较方法计算传递的两个字符串中每个字符的ASCII值的差值。如果差值为“0”,则字符串完全相等。否则,它输出第一个不匹配字符的ASCII值的差值。如果该值为负值,则第一个字符串更大。否则,第二个更大。