SlideShare a Scribd company logo
Programming in Java
Lecture 13: StringBuffer
By
Ravi Kant Sahu
Asst. Professor
Lovely Professional University, PunjabLovely Professional University, Punjab
Introduction
 A string buffer implements a mutable sequence of characters.
 A string buffer is like a String, but can be modified.
 At any point in time it contains some particular sequence of
characters, but the length and content of the sequence can be
changed through certain method calls.
 Every string buffer has a capacity.
 When the length of the character sequence contained in the
string buffer exceed the capacity, it is automatically made
larger.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Introduction
 String buffers are used by the compiler to implement the
binary string concatenation operator +.
 For example:
x = "a" + 4 + "c"
is compiled to the equivalent of:
x = new StringBuffer().append("a").append(4).
append("c") .toString()
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Why StringBuffer?
 StringBuffer is a peer class of String that provides much of the
functionality of strings.
 String represents fixed-length, immutable character sequences. In
contrast, StringBuffer represents growable and writeable character
sequences.
 StringBuffer may have characters and substrings inserted in the
middle or appended to the end.
 StringBuffer will automatically grow to make room for such
additions.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
StringBuffer Constructors
 StringBuffer defines these four constructors:
◦ StringBuffer( )
◦ StringBuffer(int size)
◦ StringBuffer(String str)
◦ StringBuffer(CharSequence chars)
 The default constructor reserves room for 16 characters without
reallocation.
 By allocating room for a few extra characters(size +16),
StringBuffer reduces the number of reallocations that take place.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
StringBuffer Methods
length( ) and capacity( )
The current length of a StringBuffer can be found via the length( ) method,
while the total allocated capacity can be found through the capacity( )
method.
int length( )
int capacity( )
Example:
class StringBufferDemo {
public static void main(String args[]) {
StringBuffer sb = new StringBuffer(“New Zealand");
System.out.println("length = " + sb.length());
System.out.println("capacity = " + sb.capacity());
}
}
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
ensureCapacity( )
 If we want to preallocate room for a certain number of
characters after a StringBuffer has been constructed, we can
use ensureCapacity( ) to set the size of the buffer.
 This is useful if we know in advance that we will be
appending a large number of small strings to a StringBuffer.
void ensureCapacity(int capacity)
 Here, capacity specifies the size of the buffer.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
setLength( )
 used to set the length of the buffer within a StringBuffer object.
void setLength(int length)
 Here, length specifies the length of the buffer.
 When we increase the size of the buffer, null characters are added to
the end of the existing buffer.
 If we call setLength( ) with a value less than the current value
returned by length( ), then the characters stored beyond the new
length will be lost.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
charAt( ) and setCharAt( )
 The value of a single character can be obtained from a
StringBuffer via the charAt( ) method.
 We can set the value of a character within a StringBuffer using
setCharAt( ).
char charAt(int index)
void setCharAt(int index, char ch)
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
getChars( )
 getChars( ) method is used to copy a substring of a
StringBuffer into an array.
void getChars(int sourceStart, int sourceEnd, char target[ ],
int targetStart)
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
append( )
 The append( ) method concatenates the string representation
of any other type of data to the end of the invoking
StringBuffer object.
 It has several overloaded versions.
◦ StringBuffer append(String str)
◦ StringBuffer append(int num)
◦ StringBuffer append(Object obj)
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Example
class appendDemo {
public static void main(String args[]) {
String s;
int a = 42;
StringBuffer sb = new StringBuffer(40);
s = sb.append("a = ").append(a).append("!")
.toString();
System.out.println(s);
}
}
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
insert( )
 The insert( ) method inserts one string into another.
 It is overloaded to accept values of all the simple types, plus
Strings, Objects, and CharSequences.
 This string is then inserted into the invoking StringBuffer
object.
◦ StringBuffer insert(int index, String str)
◦ StringBuffer insert(int index, char ch)
◦ StringBuffer insert(int index, Object obj)
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Example
class insertDemo {
public static void main(String args[]) {
StringBuffer sb = new StringBuffer("I Java!");
sb.insert(2, "like ");
System.out.println(sb);
}
}
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
reverse( )
 Used to reverse the characters within a StringBuffer object.
 This method returns the reversed object on which it was
called.
Example:
class ReverseDemo {
public static void main(String args[]) {
StringBuffer s = new StringBuffer(“Banana");
System.out.println(s);
s.reverse();
System.out.println(s);
}
}
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
delete( ) and deleteCharAt( )
 Used to delete characters within a StringBuffer.
StringBuffer delete(int startIndex, int endIndex)
StringBuffer deleteCharAt(int index)
 The delete( ) method deletes a sequence of characters from the
invoking object.
 The deleteCharAt( ) method deletes the character at the
specified index.
 It returns the resulting StringBuffer object.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Example
class deleteDemo {
public static void main(String args[]) {
StringBuffer sb = new StringBuffer(“She is not a good girl.”);
sb.delete(7, 11);
System.out.println("After delete: " + sb);
sb.deleteCharAt(7);
System.out.println("After deleteCharAt: " + sb);
}
}
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
replace( )
 Used to replace one set of characters with another set inside a
StringBuffer object.
StringBuffer replace(int startIndex, int endIndex, String str)
 The substring being replaced is specified by the indexes startIndex
and endIndex.
 Thus, the substring at startIndex through endIndex–1 is replaced.
 The replacement string is passed in str.
 The resulting StringBuffer object is returned.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Example
class replaceDemo {
public static void main(String args[]) {
StringBuffer sb = new StringBuffer("This is a test.");
sb.replace(5, 7, "was");
System.out.println("After replace: " + sb);
}
}
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
substring( )
 Used to obtain a portion of a StringBuffer by calling substring( ).
String substring(int startIndex)
String substring(int startIndex, int endIndex)
 The first form returns the substring that starts at startIndex and
runs to the end of the invoking StringBuffer object.
 The second form returns the substring that starts at startIndex
and runs through endIndex–1.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Ad

More Related Content

What's hot (20)

Basic IO
Basic IOBasic IO
Basic IO
Ravi_Kant_Sahu
 
Event handling
Event handlingEvent handling
Event handling
Ravi_Kant_Sahu
 
Methods and constructors
Methods and constructorsMethods and constructors
Methods and constructors
Ravi_Kant_Sahu
 
Swing api
Swing apiSwing api
Swing api
Ravi_Kant_Sahu
 
Wrapper classes
Wrapper classesWrapper classes
Wrapper classes
Ravi_Kant_Sahu
 
Basics of Java
Basics of JavaBasics of Java
Basics of Java
Sherihan Anver
 
Java interview questions 1
Java interview questions 1Java interview questions 1
Java interview questions 1
Sherihan Anver
 
Java programming basics
Java programming basicsJava programming basics
Java programming basics
Hamid Ghorbani
 
Java Threads
Java ThreadsJava Threads
Java Threads
Hamid Ghorbani
 
Taking User Input in Java
Taking User Input in JavaTaking User Input in Java
Taking User Input in Java
Eftakhairul Islam
 
9. Input Output in java
9. Input Output in java9. Input Output in java
9. Input Output in java
Nilesh Dalvi
 
Gui programming (awt)
Gui programming (awt)Gui programming (awt)
Gui programming (awt)
Ravi_Kant_Sahu
 
OCA Java SE 8 Exam Chapter 3 Core Java APIs
OCA Java SE 8 Exam Chapter 3 Core Java APIsOCA Java SE 8 Exam Chapter 3 Core Java APIs
OCA Java SE 8 Exam Chapter 3 Core Java APIs
İbrahim Kürce
 
Java Basics
Java BasicsJava Basics
Java Basics
shivamgarg_nitj
 
7. Multithreading
7. Multithreading7. Multithreading
7. Multithreading
Nilesh Dalvi
 
2. Basics of Java
2. Basics of Java2. Basics of Java
2. Basics of Java
Nilesh Dalvi
 
Core java
Core javaCore java
Core java
Shivaraj R
 
Spring boot
Spring bootSpring boot
Spring boot
NexThoughts Technologies
 
Viva file
Viva fileViva file
Viva file
anupamasingh87
 
Java Basics
Java BasicsJava Basics
Java Basics
Dhanunjai Bandlamudi
 

Similar to String handling(string buffer class) (20)

String handling(string class)
String handling(string class)String handling(string class)
String handling(string class)
Ravi_Kant_Sahu
 
L14 string handling(string buffer class)
L14 string handling(string buffer class)L14 string handling(string buffer class)
L14 string handling(string buffer class)
teach4uin
 
StringBuffer.pptx
StringBuffer.pptxStringBuffer.pptx
StringBuffer.pptx
meenakshi pareek
 
String Handling, Inheritance, Packages and Interfaces
String Handling, Inheritance, Packages and InterfacesString Handling, Inheritance, Packages and Interfaces
String Handling, Inheritance, Packages and Interfaces
Prabu U
 
Lecture 7
Lecture 7Lecture 7
Lecture 7
Debasish Pratihari
 
package
packagepackage
package
sweetysweety8
 
Strings in Java
Strings in JavaStrings in Java
Strings in Java
Abhilash Nair
 
Fileoperations.pptx
Fileoperations.pptxFileoperations.pptx
Fileoperations.pptx
VeenaNaik23
 
07slide
07slide07slide
07slide
Aboudi Sabbah
 
Java string , string buffer and wrapper class
Java string , string buffer and wrapper classJava string , string buffer and wrapper class
Java string , string buffer and wrapper class
SimoniShah6
 
Java
JavaJava
Java
JahnaviBhagat
 
In the given example only one object will be created. Firstly JVM will not fi...
In the given example only one object will be created. Firstly JVM will not fi...In the given example only one object will be created. Firstly JVM will not fi...
In the given example only one object will be created. Firstly JVM will not fi...
Indu32
 
Generics
GenericsGenerics
Generics
Ravi_Kant_Sahu
 
Chapter 7 String
Chapter 7 StringChapter 7 String
Chapter 7 String
OUM SAOKOSAL
 
8. String
8. String8. String
8. String
Nilesh Dalvi
 
javastringexample problems using string class
javastringexample problems using string classjavastringexample problems using string class
javastringexample problems using string class
fedcoordinator
 
3.1 STRINGS (1) java jksdbkjdbsjsef.pptx
3.1 STRINGS (1) java jksdbkjdbsjsef.pptx3.1 STRINGS (1) java jksdbkjdbsjsef.pptx
3.1 STRINGS (1) java jksdbkjdbsjsef.pptx
mohithn2004
 
Java string handling
Java string handlingJava string handling
Java string handling
Salman Khan
 
Day_5.1.pptx
Day_5.1.pptxDay_5.1.pptx
Day_5.1.pptx
ishasharma835109
 
Java String Handling
Java String HandlingJava String Handling
Java String Handling
Infoviaan Technologies
 
String handling(string class)
String handling(string class)String handling(string class)
String handling(string class)
Ravi_Kant_Sahu
 
L14 string handling(string buffer class)
L14 string handling(string buffer class)L14 string handling(string buffer class)
L14 string handling(string buffer class)
teach4uin
 
String Handling, Inheritance, Packages and Interfaces
String Handling, Inheritance, Packages and InterfacesString Handling, Inheritance, Packages and Interfaces
String Handling, Inheritance, Packages and Interfaces
Prabu U
 
Fileoperations.pptx
Fileoperations.pptxFileoperations.pptx
Fileoperations.pptx
VeenaNaik23
 
Java string , string buffer and wrapper class
Java string , string buffer and wrapper classJava string , string buffer and wrapper class
Java string , string buffer and wrapper class
SimoniShah6
 
In the given example only one object will be created. Firstly JVM will not fi...
In the given example only one object will be created. Firstly JVM will not fi...In the given example only one object will be created. Firstly JVM will not fi...
In the given example only one object will be created. Firstly JVM will not fi...
Indu32
 
javastringexample problems using string class
javastringexample problems using string classjavastringexample problems using string class
javastringexample problems using string class
fedcoordinator
 
3.1 STRINGS (1) java jksdbkjdbsjsef.pptx
3.1 STRINGS (1) java jksdbkjdbsjsef.pptx3.1 STRINGS (1) java jksdbkjdbsjsef.pptx
3.1 STRINGS (1) java jksdbkjdbsjsef.pptx
mohithn2004
 
Java string handling
Java string handlingJava string handling
Java string handling
Salman Khan
 
Ad

Recently uploaded (20)

mr discrimination________________________________________________________.pdf
mr discrimination________________________________________________________.pdfmr discrimination________________________________________________________.pdf
mr discrimination________________________________________________________.pdf
Leonid Ledata
 
BuzzerSaarang IITM Chennai Finals Quiz.pptx
BuzzerSaarang IITM Chennai Finals Quiz.pptxBuzzerSaarang IITM Chennai Finals Quiz.pptx
BuzzerSaarang IITM Chennai Finals Quiz.pptx
gabssienna0o
 
Linsey Dawn McKenzie_ Her Life in the Spotlight.pdf
Linsey Dawn McKenzie_ Her Life in the Spotlight.pdfLinsey Dawn McKenzie_ Her Life in the Spotlight.pdf
Linsey Dawn McKenzie_ Her Life in the Spotlight.pdf
Psshunt
 
Understanding Rich Messaging Services Enhancing Communication in the Digital ...
Understanding Rich Messaging Services Enhancing Communication in the Digital ...Understanding Rich Messaging Services Enhancing Communication in the Digital ...
Understanding Rich Messaging Services Enhancing Communication in the Digital ...
Times Mobile
 
美国纽约州立大学弗雷多尼亚分校毕业证学生卡(SUNYF文凭)定做
美国纽约州立大学弗雷多尼亚分校毕业证学生卡(SUNYF文凭)定做美国纽约州立大学弗雷多尼亚分校毕业证学生卡(SUNYF文凭)定做
美国纽约州立大学弗雷多尼亚分校毕业证学生卡(SUNYF文凭)定做
Taqyea
 
西班牙阿利坎特大学毕业证书留信网认证UA成绩单办本科学位证
西班牙阿利坎特大学毕业证书留信网认证UA成绩单办本科学位证西班牙阿利坎特大学毕业证书留信网认证UA成绩单办本科学位证
西班牙阿利坎特大学毕业证书留信网认证UA成绩单办本科学位证
taqyea
 
A Hypothetical ad for ether a Video Game, TV show, Movie.
A Hypothetical ad for ether a Video Game, TV show,  Movie.A Hypothetical ad for ether a Video Game, TV show,  Movie.
A Hypothetical ad for ether a Video Game, TV show, Movie.
skylarleakeybusiness
 
mr discrimination________________________________________________________1111...
mr discrimination________________________________________________________1111...mr discrimination________________________________________________________1111...
mr discrimination________________________________________________________1111...
Leonid Ledata
 
Pension-Rules-1-2021040512 0919.ppt
Pension-Rules-1-2021040512      0919.pptPension-Rules-1-2021040512      0919.ppt
Pension-Rules-1-2021040512 0919.ppt
SwathyKrishna55
 
REAL GG PULMONAR d etoda la patología jajajs
REAL GG PULMONAR d etoda la patología jajajsREAL GG PULMONAR d etoda la patología jajajs
REAL GG PULMONAR d etoda la patología jajajs
JuanVigoya2
 
inbound7219594160411751157.pptxtyuuugdch
inbound7219594160411751157.pptxtyuuugdchinbound7219594160411751157.pptxtyuuugdch
inbound7219594160411751157.pptxtyuuugdch
AfuyogMitch
 
Understanding Rich Messaging Services Enhancing Communication in the Digital ...
Understanding Rich Messaging Services Enhancing Communication in the Digital ...Understanding Rich Messaging Services Enhancing Communication in the Digital ...
Understanding Rich Messaging Services Enhancing Communication in the Digital ...
Times Mobile
 
Gadget Imports Thailand ASUS_Product guide.pdf
Gadget Imports Thailand ASUS_Product guide.pdfGadget Imports Thailand ASUS_Product guide.pdf
Gadget Imports Thailand ASUS_Product guide.pdf
rockymalonerockstar
 
Talentsskskaskkakakakak Aquisition OEC108.pptx
Talentsskskaskkakakakak Aquisition OEC108.pptxTalentsskskaskkakakakak Aquisition OEC108.pptx
Talentsskskaskkakakakak Aquisition OEC108.pptx
sriyansh4443
 
Khloé Kardashian Biography The Celeb Post
Khloé Kardashian Biography The Celeb PostKhloé Kardashian Biography The Celeb Post
Khloé Kardashian Biography The Celeb Post
Lionapk
 
mr discrimination________________________________________________________1111...
mr discrimination________________________________________________________1111...mr discrimination________________________________________________________1111...
mr discrimination________________________________________________________1111...
Leonid Ledata
 
Best IPTV Provider 2025 Top 5 Ranked IPTV Subscriptions.pdf
Best IPTV Provider 2025 Top 5 Ranked IPTV Subscriptions.pdfBest IPTV Provider 2025 Top 5 Ranked IPTV Subscriptions.pdf
Best IPTV Provider 2025 Top 5 Ranked IPTV Subscriptions.pdf
MimounKhamhand1
 
1883 Season 2_ What’s Really Going On With the Yellowstone Prequel.docx
1883 Season 2_ What’s Really Going On With the Yellowstone Prequel.docx1883 Season 2_ What’s Really Going On With the Yellowstone Prequel.docx
1883 Season 2_ What’s Really Going On With the Yellowstone Prequel.docx
voice ofarticle
 
10 Best IPTV Free Trials in 2025 (Try Before You Buy).pdf
10 Best IPTV Free Trials in 2025 (Try Before You Buy).pdf10 Best IPTV Free Trials in 2025 (Try Before You Buy).pdf
10 Best IPTV Free Trials in 2025 (Try Before You Buy).pdf
BEST IPTV
 
Movement intervention in sepecial population children .pptx
Movement intervention in sepecial population children .pptxMovement intervention in sepecial population children .pptx
Movement intervention in sepecial population children .pptx
nakisanianeani
 
mr discrimination________________________________________________________.pdf
mr discrimination________________________________________________________.pdfmr discrimination________________________________________________________.pdf
mr discrimination________________________________________________________.pdf
Leonid Ledata
 
BuzzerSaarang IITM Chennai Finals Quiz.pptx
BuzzerSaarang IITM Chennai Finals Quiz.pptxBuzzerSaarang IITM Chennai Finals Quiz.pptx
BuzzerSaarang IITM Chennai Finals Quiz.pptx
gabssienna0o
 
Linsey Dawn McKenzie_ Her Life in the Spotlight.pdf
Linsey Dawn McKenzie_ Her Life in the Spotlight.pdfLinsey Dawn McKenzie_ Her Life in the Spotlight.pdf
Linsey Dawn McKenzie_ Her Life in the Spotlight.pdf
Psshunt
 
Understanding Rich Messaging Services Enhancing Communication in the Digital ...
Understanding Rich Messaging Services Enhancing Communication in the Digital ...Understanding Rich Messaging Services Enhancing Communication in the Digital ...
Understanding Rich Messaging Services Enhancing Communication in the Digital ...
Times Mobile
 
美国纽约州立大学弗雷多尼亚分校毕业证学生卡(SUNYF文凭)定做
美国纽约州立大学弗雷多尼亚分校毕业证学生卡(SUNYF文凭)定做美国纽约州立大学弗雷多尼亚分校毕业证学生卡(SUNYF文凭)定做
美国纽约州立大学弗雷多尼亚分校毕业证学生卡(SUNYF文凭)定做
Taqyea
 
西班牙阿利坎特大学毕业证书留信网认证UA成绩单办本科学位证
西班牙阿利坎特大学毕业证书留信网认证UA成绩单办本科学位证西班牙阿利坎特大学毕业证书留信网认证UA成绩单办本科学位证
西班牙阿利坎特大学毕业证书留信网认证UA成绩单办本科学位证
taqyea
 
A Hypothetical ad for ether a Video Game, TV show, Movie.
A Hypothetical ad for ether a Video Game, TV show,  Movie.A Hypothetical ad for ether a Video Game, TV show,  Movie.
A Hypothetical ad for ether a Video Game, TV show, Movie.
skylarleakeybusiness
 
mr discrimination________________________________________________________1111...
mr discrimination________________________________________________________1111...mr discrimination________________________________________________________1111...
mr discrimination________________________________________________________1111...
Leonid Ledata
 
Pension-Rules-1-2021040512 0919.ppt
Pension-Rules-1-2021040512      0919.pptPension-Rules-1-2021040512      0919.ppt
Pension-Rules-1-2021040512 0919.ppt
SwathyKrishna55
 
REAL GG PULMONAR d etoda la patología jajajs
REAL GG PULMONAR d etoda la patología jajajsREAL GG PULMONAR d etoda la patología jajajs
REAL GG PULMONAR d etoda la patología jajajs
JuanVigoya2
 
inbound7219594160411751157.pptxtyuuugdch
inbound7219594160411751157.pptxtyuuugdchinbound7219594160411751157.pptxtyuuugdch
inbound7219594160411751157.pptxtyuuugdch
AfuyogMitch
 
Understanding Rich Messaging Services Enhancing Communication in the Digital ...
Understanding Rich Messaging Services Enhancing Communication in the Digital ...Understanding Rich Messaging Services Enhancing Communication in the Digital ...
Understanding Rich Messaging Services Enhancing Communication in the Digital ...
Times Mobile
 
Gadget Imports Thailand ASUS_Product guide.pdf
Gadget Imports Thailand ASUS_Product guide.pdfGadget Imports Thailand ASUS_Product guide.pdf
Gadget Imports Thailand ASUS_Product guide.pdf
rockymalonerockstar
 
Talentsskskaskkakakakak Aquisition OEC108.pptx
Talentsskskaskkakakakak Aquisition OEC108.pptxTalentsskskaskkakakakak Aquisition OEC108.pptx
Talentsskskaskkakakakak Aquisition OEC108.pptx
sriyansh4443
 
Khloé Kardashian Biography The Celeb Post
Khloé Kardashian Biography The Celeb PostKhloé Kardashian Biography The Celeb Post
Khloé Kardashian Biography The Celeb Post
Lionapk
 
mr discrimination________________________________________________________1111...
mr discrimination________________________________________________________1111...mr discrimination________________________________________________________1111...
mr discrimination________________________________________________________1111...
Leonid Ledata
 
Best IPTV Provider 2025 Top 5 Ranked IPTV Subscriptions.pdf
Best IPTV Provider 2025 Top 5 Ranked IPTV Subscriptions.pdfBest IPTV Provider 2025 Top 5 Ranked IPTV Subscriptions.pdf
Best IPTV Provider 2025 Top 5 Ranked IPTV Subscriptions.pdf
MimounKhamhand1
 
1883 Season 2_ What’s Really Going On With the Yellowstone Prequel.docx
1883 Season 2_ What’s Really Going On With the Yellowstone Prequel.docx1883 Season 2_ What’s Really Going On With the Yellowstone Prequel.docx
1883 Season 2_ What’s Really Going On With the Yellowstone Prequel.docx
voice ofarticle
 
10 Best IPTV Free Trials in 2025 (Try Before You Buy).pdf
10 Best IPTV Free Trials in 2025 (Try Before You Buy).pdf10 Best IPTV Free Trials in 2025 (Try Before You Buy).pdf
10 Best IPTV Free Trials in 2025 (Try Before You Buy).pdf
BEST IPTV
 
Movement intervention in sepecial population children .pptx
Movement intervention in sepecial population children .pptxMovement intervention in sepecial population children .pptx
Movement intervention in sepecial population children .pptx
nakisanianeani
 
Ad

String handling(string buffer class)

  • 1. Programming in Java Lecture 13: StringBuffer By Ravi Kant Sahu Asst. Professor Lovely Professional University, PunjabLovely Professional University, Punjab
  • 2. Introduction  A string buffer implements a mutable sequence of characters.  A string buffer is like a String, but can be modified.  At any point in time it contains some particular sequence of characters, but the length and content of the sequence can be changed through certain method calls.  Every string buffer has a capacity.  When the length of the character sequence contained in the string buffer exceed the capacity, it is automatically made larger. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 3. Introduction  String buffers are used by the compiler to implement the binary string concatenation operator +.  For example: x = "a" + 4 + "c" is compiled to the equivalent of: x = new StringBuffer().append("a").append(4). append("c") .toString() Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 4. Why StringBuffer?  StringBuffer is a peer class of String that provides much of the functionality of strings.  String represents fixed-length, immutable character sequences. In contrast, StringBuffer represents growable and writeable character sequences.  StringBuffer may have characters and substrings inserted in the middle or appended to the end.  StringBuffer will automatically grow to make room for such additions. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 5. StringBuffer Constructors  StringBuffer defines these four constructors: ◦ StringBuffer( ) ◦ StringBuffer(int size) ◦ StringBuffer(String str) ◦ StringBuffer(CharSequence chars)  The default constructor reserves room for 16 characters without reallocation.  By allocating room for a few extra characters(size +16), StringBuffer reduces the number of reallocations that take place. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 6. StringBuffer Methods length( ) and capacity( ) The current length of a StringBuffer can be found via the length( ) method, while the total allocated capacity can be found through the capacity( ) method. int length( ) int capacity( ) Example: class StringBufferDemo { public static void main(String args[]) { StringBuffer sb = new StringBuffer(“New Zealand"); System.out.println("length = " + sb.length()); System.out.println("capacity = " + sb.capacity()); } } Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 7. ensureCapacity( )  If we want to preallocate room for a certain number of characters after a StringBuffer has been constructed, we can use ensureCapacity( ) to set the size of the buffer.  This is useful if we know in advance that we will be appending a large number of small strings to a StringBuffer. void ensureCapacity(int capacity)  Here, capacity specifies the size of the buffer. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 8. setLength( )  used to set the length of the buffer within a StringBuffer object. void setLength(int length)  Here, length specifies the length of the buffer.  When we increase the size of the buffer, null characters are added to the end of the existing buffer.  If we call setLength( ) with a value less than the current value returned by length( ), then the characters stored beyond the new length will be lost. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 9. charAt( ) and setCharAt( )  The value of a single character can be obtained from a StringBuffer via the charAt( ) method.  We can set the value of a character within a StringBuffer using setCharAt( ). char charAt(int index) void setCharAt(int index, char ch) Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 10. getChars( )  getChars( ) method is used to copy a substring of a StringBuffer into an array. void getChars(int sourceStart, int sourceEnd, char target[ ], int targetStart) Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 11. append( )  The append( ) method concatenates the string representation of any other type of data to the end of the invoking StringBuffer object.  It has several overloaded versions. ◦ StringBuffer append(String str) ◦ StringBuffer append(int num) ◦ StringBuffer append(Object obj) Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 12. Example class appendDemo { public static void main(String args[]) { String s; int a = 42; StringBuffer sb = new StringBuffer(40); s = sb.append("a = ").append(a).append("!") .toString(); System.out.println(s); } } Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 13. insert( )  The insert( ) method inserts one string into another.  It is overloaded to accept values of all the simple types, plus Strings, Objects, and CharSequences.  This string is then inserted into the invoking StringBuffer object. ◦ StringBuffer insert(int index, String str) ◦ StringBuffer insert(int index, char ch) ◦ StringBuffer insert(int index, Object obj) Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 14. Example class insertDemo { public static void main(String args[]) { StringBuffer sb = new StringBuffer("I Java!"); sb.insert(2, "like "); System.out.println(sb); } } Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 15. reverse( )  Used to reverse the characters within a StringBuffer object.  This method returns the reversed object on which it was called. Example: class ReverseDemo { public static void main(String args[]) { StringBuffer s = new StringBuffer(“Banana"); System.out.println(s); s.reverse(); System.out.println(s); } } Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 16. delete( ) and deleteCharAt( )  Used to delete characters within a StringBuffer. StringBuffer delete(int startIndex, int endIndex) StringBuffer deleteCharAt(int index)  The delete( ) method deletes a sequence of characters from the invoking object.  The deleteCharAt( ) method deletes the character at the specified index.  It returns the resulting StringBuffer object. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 17. Example class deleteDemo { public static void main(String args[]) { StringBuffer sb = new StringBuffer(“She is not a good girl.”); sb.delete(7, 11); System.out.println("After delete: " + sb); sb.deleteCharAt(7); System.out.println("After deleteCharAt: " + sb); } } Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 18. replace( )  Used to replace one set of characters with another set inside a StringBuffer object. StringBuffer replace(int startIndex, int endIndex, String str)  The substring being replaced is specified by the indexes startIndex and endIndex.  Thus, the substring at startIndex through endIndex–1 is replaced.  The replacement string is passed in str.  The resulting StringBuffer object is returned. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 19. Example class replaceDemo { public static void main(String args[]) { StringBuffer sb = new StringBuffer("This is a test."); sb.replace(5, 7, "was"); System.out.println("After replace: " + sb); } } Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 20. substring( )  Used to obtain a portion of a StringBuffer by calling substring( ). String substring(int startIndex) String substring(int startIndex, int endIndex)  The first form returns the substring that starts at startIndex and runs to the end of the invoking StringBuffer object.  The second form returns the substring that starts at startIndex and runs through endIndex–1. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 21. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)