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

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

使用“==”比较运算符

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

String s = "Hello, World";
String t = "Hello, World";

System.out.println(s == t); // true
System.out.println(s.equals(t)); // true

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


s = "HelloWorld"
t = "HelloWorld"

print(s==t) # true
print(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);
}

}

}