Java - String startsWith() 方法



Java String startsWith() 方法用于检查字符串是否以指定的开头字符串开始。需要验证的开头字符串以字符串的形式提供给函数。单个字符也可以作为开头字符串。

如果字符串包含指定的开头字符串,则此方法返回布尔值 true;否则返回 false。例如,对于字符串“TutorialsPoint”,如果通过传递“Tut”作为参数来调用此方法,则它将返回布尔值 true

此方法有两个多态变体,其语法如下所示。

语法

以下是Java String startsWith()方法的语法:

public boolean startsWith(String prefix) // first syntax
or,
public boolean startsWith(String prefix, int toffset) // second syntax

参数

  • prefix − 这是开头字符串的值。

  • toffset − 从字符串的哪个位置开始查找。// 第二种语法

返回值

  • public boolean startsWith(String prefix)方法如果参数表示的字符序列是此字符串表示的字符序列的前缀,则返回 true,否则返回 false。

  • public boolean startsWith(String prefix, int toffset)方法如果参数表示的字符序列是此对象从索引 toffset 开始的子字符串的前缀,则返回 true,否则返回 false。

检查字符串是否以给定字符串开头示例

以下示例显示了 Java String startsWith() 方法的使用。在这里,我们用 URL 初始化一个字符串,并验证它是否以“www”开头:

package com.tutorialspoint;

public class StringDemo {
   public static void main(String[] args) {
      String str = "www.tutorialspoint.com";
      System.out.println(str); 
      
      // the start string to be checked
      String startstr1 = "www";
      
      // checks that string starts with given substring
      boolean retval1 = str.startsWith(startstr1);
      
      // prints true if the string starts with given substring
      System.out.println("starts with " + startstr1 + " ? " + retval1);
   }
}

输出

如果编译并运行上述程序,它将产生以下结果:

www.tutorialspoint.com
starts with www ? true

检查字符串是否不以给定字符串开头示例

以下是此函数的另一个示例:

package com.tutorialspoint;

public class StringDemo {
   public static void main(String[] args) {
      String str = "www.tutorialspoint.com";
      System.out.println(str);
      
      // the start string to be checked
      String startstr1 = "com";
      
      // checks that string starts with given substring
      boolean retval1 = str.startsWith(startstr1);
      
      // prints true if the string starts with given substring otherwise false
      System.out.println("starts with " + startstr1 + " ? " + retval1);
   }
}

输出

如果编译并运行上面的程序,则输出将显示如下:

www.tutorialspoint.com
starts with com ? false

检查字符串是否以给定字符串开头示例

以下示例显示了 Java String startsWith() 方法的使用,方法是初始化一个 String 对象并通过提供索引来启动匹配。这里它返回失败的匹配:

package com.tutorialspoint;

public class StringDemo {
   public static void main(String[] args) {
      String str = "www.tutorialspoint.com";
      System.out.println(str); 
      
      // the start string to be checked
      String startstr1 = "tutorialspoint";
      
      // checks that string starts with given substring and starting index
      boolean retval1 = str.startsWith(startstr1);
      
      // prints true if the string starts with given substring
      System.out.println("starts with " + startstr1 + " ? " + retval1);
   }
}

输出

执行上述程序后,输出如下:

www.tutorialspoint.com
starts with tutorialspoint ? false

从偏移量检查字符串是否以给定字符串开头示例

一个 String 对象被初始化为“www.tutorialspoint.com”,并且我们通过传递 toffset 值以及开头字符串来在此字符串上调用 startsWith() 方法:

package com.tutorialspoint;

public class StringDemo {
   public static void main(String[] args) {
      String str = "www.tutorialspoint.com";
      System.out.println(str);
      
      // the start string to be checked
      String startstr1 = "tutorialspoint";
      
      // checks that string starts with given substring and starting index
      boolean retval1 = str.startsWith(startstr1, 4);
      // prints true if the string starts with given substring otherwise false
      System.out.println("string " + startstr1 + " starting from index 4 ? " + retval1);
   }
}

输出

上述程序的输出如下:

www.tutorialspoint.com
string tutorialspoint starting from index 4 ? true

在检查字符串是否以给定字符串开头时出现异常示例

如果我们传递 null 作为参数,则会抛出 NullPointerException。原因是 null 不能用作参数。

public class StringDemo {
   public static void main(String[] args) {
      String s = "Welcome to tutorials Point";
      System.out.println("The string is: " + s.startsWith(null));
   }
}

NullPointerException

执行上述代码时,我们得到以下输出:

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "String.length()" because "prefix" is null
      at java.base/java.lang.String.startsWith(String.java:2253)
      at java.base/java.lang.String.startsWith(String.java:2296)
      at StringDemo.main(StringDemo.java:6)
java_lang_string.htm
广告