Java StringBuffer indexOf()方法及示例

Java StringBuffer indexOf()方法及示例

在StringBuffer类中,有两种类型的indexOf()方法,取决于传递给它的参数。

indexOf(String str)

StringBuffer类的 indexOf(String str) 方法用于返回该对象所包含的序列中第一次出现的子串参数的索引。如果子串str不存在,那么将返回-1以代替索引。

语法

public int indexOf(String str)

参数: 该方法接受 str ,它是子串类型的值,指的是我们想要得到的索引的字符串。
返回值: 该方法返回传递的子串第一次出现的 索引 ,如果没有这样的子串,则返回-1。

下面的程序说明了StringBuffer.indexOf()方法。

例子1: 当传递的子串在序列中存在时。

// Java program to demonstrate
// the indexOf() Method.
  
class GFG {
  
    public static void main(String[] args)
    {
        // create a StringBuffer object
        // with a String pass as parameter
        StringBuffer str
            = new StringBuffer("GeeksForGeeks");
  
        // print string
        System.out.println("String: " + str);
  
        // get index of string For
        int index = str.indexOf("For");
  
        // print results
        System.out.println("index of 'For': "
                           + index);
    }
}

输出:

String: GeeksForGeeks
index of 'For': 5

例子2: 当传递的子串在序列中不存在时。

// Java program to demonstrate
// the indexOf() Method.
  
class GFG {
  
    public static void main(String[] args)
    {
        // create a StringBuffer object
        // with a String pass as parameter
        StringBuffer str
            = new StringBuffer("Geeks for Geeks contribute");
  
        // print string
        System.out.println("String: " + str);
  
        // get index of string article
        int index = str.indexOf("article");
  
        // print results
        System.out.println("index of 'article': "
                           + index);
    }
}

输出:

String: Geeks for Geeks contribute
index of 'article': -1

indexOf(String str, int fromIndex)。

StringBuffer类的 indexOf(String str, int fromIndex) 方法用于返回从指定的索引’fromIndex’开始,在String中首次出现的子串的索引。如果子串str不存在,则返回-1。 fromIndex是整数类型的值,指的是搜索开始的索引。如果字符串出现在搜索开始的索引之前,但不在之后,那么将返回-1。

语法

public int indexOf(String str, int fromIndex)

参数: 该方法接受两个参数 str ,它是字符串类型的值,指的是我们想得到的字符串的索引, fromIndex 是整数类型的值,指的是要开始搜索的索引。

返回: 该方法返回从指定索引开始的第一次出现的子串的 索引 ,如果没有这样的子串,则返回-1。

下面的程序说明了StringBuffer.indexOf()方法。

例1: 当传递的子串存在于序列中时。

// Java program to demonstrate
// the indexOf() Method.
  
class GFG {
  
    public static void main(String[] args)
    {
        // create a StringBuffer object
        // with a String pass as parameter
        StringBuffer str
            = new StringBuffer("GeeksForGeeks");
  
        // print string
        System.out.println("String: " + str);
  
        // get index of string Form index 3
        int index = str.indexOf("For", 3);
  
        // print results
        System.out.println("index of 'For': "
                           + index);
    }
}

输出:

String: GeeksForGeeks
index of 'For': 5

例2: 当通过的子串在序列中存在,但是搜索的索引大于子串的索引。

// Java program to demonstrate
// the indexOf() Method.
  
class GFG {
  
    public static void main(String[] args)
    {
        // create a StringBuffer object
        // with a String pass as parameter
        StringBuffer str
            = new StringBuffer("Geeks for Geeks contribute");
  
        // print string
        System.out.println("String: " + str);
  
        // get index of string Geeks from index 15
        int index = str.indexOf("Geeks", 15);
  
        // print results
        System.out.println("index of 'Geeks ': "
                           + index);
    }
}

输出:

String: Geeks for Geeks contribute
index of 'Geeks ': -1

参考文献: https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuffer.html#indexOf(java.lang.String, int)
https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuffer.html#indexOf(java.lang.String)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程