- Java.lang 包類
- Java.lang - 首頁
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包附加內容
- Java.lang - 介面
- Java.lang - 錯誤
- Java.lang - 異常
- Java.lang 包有用資源
- Java.lang - 有用資源
- Java.lang - 討論
Java StringBuffer indexOf() 方法
Java StringBuffer indexOf() 方法用於檢索指定字元在字串或 StringBuffer 中第一次出現的索引,該方法區分大小寫,這意味著字串“A”和“a”是兩個不同的值。
indexOf() 方法接受一個字串引數,該引數儲存子字串的值。它返回一個整數值,如果當前字串中不存在給定值,則返回-1。如果給定的字串值為null,則該方法會丟擲異常。
indexOf() 方法有兩個多型變體,它們具有不同的引數,例如 - 字串和 fromIndex(下面是這兩個多型變體的語法)。
語法
以下是Java StringBuffer indexOf() 方法的語法:
public int indexOf(String str) public int indexOf(String str, int fromIndex)
引數
- str − 這是子字串值。
- fromIndex − 這是開始搜尋的索引。
返回值
如果字串引數作為子字串出現在此物件中,則此方法返回第一個此類子字串的第一個字元的索引。如果它沒有作為子字串出現,則返回 -1。
如果將值傳遞給fromIndex引數,則此方法將返回指定子字串的第一次出現處的索引,從指定的索引開始。
示例:獲取子字串的索引
如果給定的字串值不為 null並且存在於當前字串中,則此方法返回其位置。
在這個程式中,我們正在建立一個值為“Welcome to TutorialsPoint”的StringBuffer物件。然後,使用indexOf()方法,我們嘗試檢索子字串“to”的索引。
package com.tutorialspoint.StringBuffer;
public class Index {
public static void main(String[] args) {
//instantiating the StringBuffer
StringBuffer sb = new StringBuffer("Welcome to TutorialsPoint");
System.out.println("The given string is: " + sb);
//initialize the substring
String str = "to";
System.out.println("The sustring is: " + str);
//using the indexOf() method
System.out.println("The position of " + str + " is: " + sb.indexOf(str));
}
}
輸出
執行上述程式後,將產生以下結果:
The given string is: Welcome to TutorialsPoint The sustring is: to The position of to is: 8
示例:獲取 null 的索引時遇到 NullPointerException
如果給定的字串值為null,則indexOf()方法將丟擲NullPointerException。
在下面的示例中,我們使用 null 值例項化一個StringBuffer。使用indexOf()方法,我們嘗試檢索StringBuffer中指定字元第一次出現的位置。由於給定的字串值為null,因此該方法會丟擲異常。
package com.tutorialspoint.StringBuffer;
public class Index {
public static void main(String[] args) {
try {
//instantiating the StringBuffer
StringBuffer sb = new StringBuffer(null);
System.out.println("The given string is: " + sb);
//initialize the substring
String str = "hello";
System.out.println("The sustring is: " + str);
//using the indexOf() method
System.out.println("The position of " + str + " is: " + sb.indexOf(str));
} catch(NullPointerException e) {
e.printStackTrace();
System.out.println("Exception: " + e);
}
}
}
輸出
以下是上述程式的輸出:
java.lang.NullPointerException: Cannot invoke "String.length()" because "str" is null at java.base/java.lang.AbstractStringBuilder.(AbstractStringBuilder.java:105) at java.base/java.lang.StringBuffer. (StringBuffer.java:131) at com.tutorialspoint.StringBuffer.Index.main(Index.java:6) Exception: java.lang.NullPointerException: Cannot invoke "String.length()" because "str" is null
示例:獲取不存在的子字串的索引
如果在 StringBuffer 中找不到給定的字串值,則 indexOf() 方法返回-1。
在下面的程式中,我們使用值為“TutorialsPoint”的StringBuffer建立一個物件。然後,使用indexOf()方法,我們嘗試檢索給定StringBuffer中“tutorix”的位置。
package com.tutorialspoint.StringBuffer;
public class Index {
public static void main(String[] args) {
//instantiating the StringBuffer
StringBuffer sb = new StringBuffer("TutorialsPoint");
System.out.println("The given string is: " + sb);
//initialize the substring
String str = "tutorix";
System.out.println("The sustring is: " + str);
//using the indexOf() method
System.out.println("The position of " + str + " is: " + sb.indexOf(str));
}
}
輸出
上述程式產生以下輸出:
The given string is: TutorialsPoint The sustring is: tutorix The position of tutorix is: -1
示例:獲取子字串的索引
如果給定的字串值不為 null並且 fromIndex 值為正數,則 indexOf() 方法返回子字串的位置。
在這個例子中,我們使用值為“Java Programming Language”的StringBuffer進行例項化。然後使用indexOf()方法,我們嘗試從索引10檢索“language”子字串的位置。
package com.tutorialspoint.StringBuffer;
public class Index {
public static void main(String[] args) {
//instantiating the StringBuffer
StringBuffer sb = new StringBuffer("Java Programming Language");
System.out.println("The given string is: " + sb);
//initialize the substring and fromIndex value
String str = "Language";
int fromIndex = 10;
System.out.println("The sustring is: " + str);
System.out.println("The fromIndex value is: " + fromIndex);
//using the indexOf() method
System.out.println("The position of " + str + " is: " + sb.indexOf(str, fromIndex));
}
}
輸出
執行上述程式後,程式將產生以下輸出:
The given string is: Java Programming Language The sustring is: Language The fromIndex value is: 10 The position of Language is: 17