写点什么

给定两个字符串 s 和 t,判断这两个字符串中的字母是不是完全一样。

作者:InfoQ IT百科
  • 2022 年 4 月 24 日
  • 本文字数:1244 字

    阅读完需:约 4 分钟

给定两个字符串 s 和 t,判断这两个字符串中的字母是不是完全一样。Java 中,有很多提供字符串比较的方法。


Java 中,有很多提供字符串比较的方法。

使用“==”比较运算符

“==”用于检查两个字符串的引用相等性:

String s = "Hello, World";String t = "Hello, World";  System.out.println(s == t); // trueSystem.out.println(s.equals(t)); // true
复制代码


python 中,也可以使用 == 或使用 .__eq__ 函数来检查字符串是否相等。

s = "HelloWorld"t = "HelloWorld"
print(s==t) # trueprint(s.__eq__(t)) # true
复制代码

使用 equalsIgnoreCase()

equalsIgnoreCase() 方法返回一个布尔值。顾名思义,此方法在比较字符串时忽略字符中的大小写:

String s = "Hello, World";String t = "hello, world";  System.out.println(s.equalsIgnoreCase(t)); // true
复制代码


使用 compareTo()

compareTo() 方法返回一个 int 类型值,并根据字典或自然排序按字典顺序逐字符比较两个字符串。如果两个字符串相等或两者都为空,则此方法返回 0,如果第一个字符串在参数之前,则返回负数,如果第一个字符串在参数字符串之后,则返回大于零的数字。

String s = "Hello, World";String t = "Hello, World";  System.out.println(s.compareTo(t)); // 0
复制代码


同理,compareToIgnoreCase() 类似于前面的方法,除了它忽略大小写

字符串与对象类的比较

从 Java 1.7 及更高版本开始,我们可以使用 Objects.equals() 来确保两个对象相等,并且它也适用于 String.class。

对象是一个实用类,其中包含静态 equals()方法,在此方案中有用 - 以比较两个字符串。

如果通过使用它们的地址,则两个字符串是相等的,则该方法返回 True。“==”。因此,如果两个参数都为 null,则返回 true,如果恰好一个参数为 null,则返回 false。

package com.yuzhou1su.RelearnJava;
import java.util.Objects;
public class StringCompareUtil { public static void main(String[] args) { String s = "Hello, World"; String t = "Hello, World"; System.out.println(Objects.equals(s, t)); // true }}
复制代码

自定义比较方法

如果两个字符串长度不相同,一定为 false

然后遍历每个字符串的位置上的字符,每个位置上的字符字母相同为 true。代码如下:

package com.yuzhou1su.RelearnJava;
public class StringCompareUtil { public static void main(String[] args) { String s = "Hello, World"; String t = "Hello, World"; int lengthOfStringOne = s.length(); int lengthOfStringTwo = t.length(); boolean isEqual = true; if (lengthOfStringOne != lengthOfStringTwo) { isEqual = false; // 长度不相同一定为 fasle System.out.printf(" s == t is %s", isEqual); } else { for (int i=0; i < lengthOfStringOne; i++) { if (s.charAt(i) != t.charAt(i)) { isEqual = false; break; } } System.out.printf("s == t is %s", isEqual); }
}
}
复制代码


用户头像

还未添加个人签名 2021.04.12 加入

还未添加个人简介

评论

发布
暂无评论
给定两个字符串s和t,判断这两个字符串中的字母是不是完全一样。_InfoQ IT百科_InfoQ写作社区