String如何判断以什么结尾

在Java中,String类提供了一些方法来判断一个字符串是否以特定的字符或者字符序列结尾。本文将介绍如何使用这些方法来判断一个字符串是否以特定的字符串结尾,并提供一些代码示例来帮助理解。

String类的endsWith方法

String类的endsWith方法用于判断一个字符串是否以特定的字符或者字符序列结尾。该方法的定义如下:

public boolean endsWith(String suffix)

其中,参数suffix是一个字符串,代表待判断的后缀。方法返回一个布尔值,如果该字符串以suffix结尾,则返回true;否则返回false。

下面是一个使用endsWith方法判断字符串结尾的示例代码:

String str = "Hello, World!";

boolean endsWithWorld = str.endsWith("World!");
System.out.println("endsWithWorld: " + endsWithWorld); // 输出true

boolean endsWithJava = str.endsWith("Java");
System.out.println("endsWithJava: " + endsWithJava); // 输出false

在上述代码中,我们首先定义了一个字符串str,并初始化为"Hello, World!"。然后,我们使用endsWith方法来判断str是否以"World!"结尾,结果为true。接着,我们再次使用endsWith方法来判断str是否以"Java"结尾,结果为false。

字符串截取和比较

除了使用String类的endsWith方法外,我们还可以使用字符串的截取和比较操作来判断一个字符串是否以特定的字符或者字符序列结尾。具体步骤如下:

  1. 使用substring方法来截取原字符串中最后与后缀等长的字符或者字符序列。
  2. 使用equals方法将截取得到的字符串与后缀进行比较。

下面是一个使用字符串截取和比较来判断字符串结尾的示例代码:

String str = "Hello, World!";

String suffix = "World!";
String lastCharacters = str.substring(str.length() - suffix.length());

boolean endsWithWorld = lastCharacters.equals(suffix);
System.out.println("endsWithWorld: " + endsWithWorld); // 输出true

suffix = "Java";
lastCharacters = str.substring(str.length() - suffix.length());

boolean endsWithJava = lastCharacters.equals(suffix);
System.out.println("endsWithJava: " + endsWithJava); // 输出false

在上述代码中,我们首先定义了一个字符串str,并初始化为"Hello, World!"。然后,我们定义了一个后缀suffix,并将其赋值为"World!"。接着,我们使用substring方法截取了str中最后与后缀等长的字符或者字符序列,并将结果保存在变量lastCharacters中。最后,我们使用equals方法将lastCharacters与suffix进行比较,结果为true。

需要注意的是,使用字符串截取和比较的方法要求后缀与原字符串长度相同。如果后缀长度不固定或不确定,建议使用String类的endsWith方法。

总结

本文介绍了如何使用String类的endsWith方法和字符串截取与比较操作来判断一个字符串是否以特定的字符或者字符序列结尾。使用endsWith方法可以直接判断字符串结尾,而字符串截取和比较则可以灵活处理后缀长度不固定的情况。

下表总结了endsWith方法和字符串截取与比较操作的区别和适用场景:

方法 区别 适用场景
endsWith 直接判断字符串结尾,后缀长度可变 后缀长度固定或已知
字符串截取和比较 需要进行字符串截取和比较操作,后缀长度需相同 后缀长度不固定或不确定

类图如下所示:

classDiagram
    class String {
        + boolean endsWith(String suffix)
    }

以上是关于如何判断String是否以特定字符或者字符序列结尾的介绍,希望对你有帮助!