QA–位置测验|时钟

字符串缓冲区 是一个同龄人的班级 一串 这提供了字符串的大部分功能。字符串表示固定长度、不可变的字符序列,而StringBuffer表示可增长和可写的字符序列。 字符串缓冲区 可以将字符和子串插入中间或追加到结尾。信息技术 将自动增长以为此类添加腾出空间,并且通常预分配的字符数比实际需要的字符数多,从而为增长留出空间。

null

关于StringBuffer类的一些有趣的事实

一定要进去 申请so时,mi的背面如下所示:

  • JAVAlang.StringBuffer扩展(或继承自) 对象类 .
  • StringBuffer类的所有实现接口:Serializable、Appendable、CharSequence。
  • 公共最终类StringBuffer extends对象实现可序列化、CharSequence和可追加。
  • 多线程使用字符串缓冲区是安全的。这些方法可以在任何必要的地方进行同步,这样,任何特定实例上的所有操作都可以按照某种顺序进行。
  • 每当发生涉及源序列的操作(例如从源序列追加或插入)时,此类仅在执行该操作的字符串缓冲区上同步,而不是在源上同步。
  • 它从对象类继承了一些方法,比如 clone()、equals()、finalize()、getClass()、hashCode()、, 通知 ,notifyAll()。

记得: 字符串拼接 , J2SE 5为Java已经强大的字符串处理功能添加了一个新的字符串类。这个新类叫做StringBuilder。它与StringBuffer相同,只是有一个重要区别:它不同步,这意味着它不是线程安全的。StringBuilder的优点是性能更快。但是,在使用多线程的情况下,必须使用StringBuffer而不是StringBuilder。

StringBuffer类的构造函数

1.StringBuffer() :它保留了16个字符的空间,无需重新分配

StringBuffer s = new StringBuffer();

2. StringBuffer(整数大小) :它接受一个整数参数,该参数显式设置缓冲区的大小。

StringBuffer s = new StringBuffer(20);

3. StringBuffer(字符串str): 它接受一个字符串 参数,该参数设置StringBuffer对象的初始内容,并在不重新分配的情况下为16个字符保留空间。

StringBuffer s = new StringBuffer("GeeksforGeeks");

StringBuffer类的方法

方法 执行的动作
附加() 用于在现有文本末尾添加文本。
长度() StringBuffer的长度可以通过length()方法找到
容量() 总分配容量可以通过capacity()方法找到
查拉特()
删除() 从调用对象中删除一系列字符
删除字符() 删除指定索引处的字符 loc
保证能力 确保容量至少等于给定的最小值。
插入() 在指定的索引位置插入文本
长度() 返回字符串的长度
反向 反转StringBuffer对象中的字符
替换() 将StringBuffer对象中的一组字符替换为另一组字符

注: 除此之外,String类中使用的所有方法也可以使用。这些辅助方法如下:

它用于增加StringBuffer对象的容量。新容量将设置为我们指定的值或当前容量的两倍加上两倍(即容量+2),以较大者为准。这里,容量指定缓冲区的大小。

语法:

void ensureCapacity(int capacity)

语法:

public StringBuffer appendCodePoint(int codePoint)
  • 字符(整数索引)

此方法在指定的索引处返回此序列中的char值。

语法:

public char charAt(int index)
  • IntStream chars() :此方法返回一个int zero流,扩展此序列中的字符值。

语法:

public IntStream chars()

语法:

public int codePointAt(int index)

语法:

public int codePointBefore(int index)

语法:

public int codePointCount(int beginIndex, int endIndex)
  • IntStream代码点() :此方法返回此序列中的代码点值流。

语法:

public IntStream codePoints()

语法:

public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

语法:

public int indexOf(String str)public int indexOf(String str, int fromIndex)

语法:

public int lastIndexOf(String str)public int lastIndexOf(String str, int fromIndex)

语法:

public int offsetByCodePoints(int index, int codePointOffset) 

语法:

public void setCharAt(int index, char ch)

语法:

public void setLength(int newLength)

语法:

public CharSequence subSequence(int start, int end)

语法:

public String substring(int start)public String substring(int start,int end)

语法:

public String toString()

语法:

public void trimToSize()

上面我们只讨论了最广泛使用的方法,并对它们进行了严格的限制,因为它们在编程极客中被广泛使用。

实施:

例1: 长度()和容量() 方法

JAVA

// Java Program to Illustrate StringBuffer class
// via length() and capacity() methods
// Importing I/O classes
import java.io.*;
// Main class
class GFG {
// main driver method
public static void main(String[] args)
{
// Creating adn storing string by creating object of
// StringBuffer
StringBuffer s = new StringBuffer( "GeeksforGeeks" );
// Getting the length of the string
int p = s.length();
// Getting the capacity of the string
int q = s.capacity();
// Printing the length and capacity of
// above generated input string on console
System.out.println( "Length of string GeeksforGeeks="
+ p);
System.out.println(
"Capacity of string GeeksforGeeks=" + q);
}
}


输出

Length of string GeeksforGeeks=13Capacity of string GeeksforGeeks=29

例2: 附加()

它用于在现有文本的末尾添加文本。

以下是它的几种形式:

StringBuffer append(String str)StringBuffer append(int num)

JAVA

// Java Program to Illustrate StringBuffer class
// via append() method
// Importing required classes
import java.io.*;
// Main class
class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating an object of StringBuffer class and
// passing random string
StringBuffer s = new StringBuffer( "Geeksfor" );
// Usage of append() method
s.append( "Geeks" );
// Returns GeeksforGeeks
System.out.println(s);
s.append( 1 );
// Returns GeeksforGeeks1
System.out.println(s);
}
}


输出

GeeksforGeeksGeeksforGeeks1

例3: 插入()

它用于在指定的索引位置插入文本。

语法: 以下是其中的几点:

StringBuffer insert(int index, String str)StringBuffer insert(int index, char ch)

指数 指定将字符串插入调用 字符串缓冲区 对象

JAVA

// Java Program to Illustrate StringBuffer class
// via insert() method
// Importing required I/O classes
import java.io.*;
// Main class
class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating an object of StringBuffer class
StringBuffer s = new StringBuffer( "GeeksGeeks" );
// Inserting element and position as an arguments
s.insert( 5 , "for" );
// Returns GeeksforGeeks
System.out.println(s);
s.insert( 0 , 5 );
// Returns 5GeeksforGeeks
System.out.println(s);
s.insert( 3 , true );
// Returns 5GetrueeksforGeeks
System.out.println(s);
s.insert( 5 , 41 .35d);
// Returns 5Getr41.35ueeksforGeeks
System.out.println(s);
s.insert( 8 , 41 .35f);
// Returns 5Getr41.41.3535ueeksforGeeks
System.out.println(s);
// Declaring and initializing character array
char geeks_arr[] = { 'p' , 'a' , 'w' , 'a' , 'n' };
// Inserting character array at offset 9
s.insert( 2 , geeks_arr);
// Returns 5Gpawanetr41.41.3535ueeksforGeeks
System.out.println(s);
}
}


输出:

GeeksforGeeks5GeeksforGeeks5GetrueeksforGeeks5Getr41.35ueeksforGeeks5Getr41.41.3535ueeksforGeeks5Gpawanetr41.41.3535ueeksforGeeks

例4: 反面()

它可以使用 反转()。 此方法返回调用它的反向对象。

JAVA

// Java Program to Illustrate StringBuffer class
// via reverse() method
// Importing I/O classes
import java.io.*;
// Main class
class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating a string via creating
// object of StringBuffer class
StringBuffer s = new StringBuffer( "GeeksGeeks" );
// Invoking reverse() method
s.reverse();
// Returns "skeeGrofskeeG"
System.out.println(s);
}
}


输出

skeeGskeeG

例5: 删除() 删除字符()

它可以使用以下方法删除StringBuffer中的字符 删除() 删除字符() 这个 删除() 方法从调用对象中删除一系列字符。这里,开始索引指定要删除的第一个字符的索引,结束索引指定要删除的最后一个字符的索引。因此,删除的子字符串从开始索引运行到结束索引–1。返回结果StringBuffer对象。这个 删除字符() 方法在指定的索引处删除字符 位置。 它返回结果StringBuffer对象。

语法:

StringBuffer delete(int startIndex, int endIndex)StringBuffer deleteCharAt(int loc)

JAVA

// Java Program to Illustrate StringBuffer class
// via delete() and deleteCharAt() Methods
// Importing I/O classes
import java.io.*;
// Main class
class GFG {
// Main driver method
public static void main(String[] args)
{
StringBuffer s = new StringBuffer( "GeeksforGeeks" );
s.delete( 0 , 5 );
// Returns forGeeks
System.out.println(s);
s.deleteCharAt( 7 );
// Returns forGeek
System.out.println(s);
}
}


输出

forGeeksforGeek

例6: 替换()

它可以通过调用replace()将StringBuffer对象中的一组字符替换为另一组字符。被替换的子字符串由索引开始索引和结束索引指定。因此,从开始索引到结束索引的子字符串–1被替换。替换字符串在str中传递。返回结果StringBuffer对象。

语法:

StringBuffer replace(int startIndex, int endIndex, String str)

实例

JAVA

// Java Program to Illustrate StringBuffer class
// via replace() method
// Importing I/O classes
import java.io.*;
// Main class
class GFG {
// Main driver method
public static void main(String[] args)
{
StringBuffer s = new StringBuffer( "GeeksforGeeks" );
s.replace( 5 , 8 , "are" );
// Returns GeeksareGeeks
System.out.println(s);
}
}


输出

GeeksareGeeks

本文由 洛克什·托德瓦尔。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享