0% found this document useful (0 votes)
484 views24 pages

String Handling in Java

The document discusses String handling in Java. It describes Strings as immutable sequences of characters that are different from C/C++ strings which are arrays of characters. It provides examples of immutable classes in Java like String and discusses various methods for manipulating and accessing Strings like length(), charAt(), concat(), equals(), etc. It also covers the StringBuffer class which is mutable and thread-safe for modifying String content.

Uploaded by

Venu D
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
0% found this document useful (0 votes)
484 views24 pages

String Handling in Java

The document discusses String handling in Java. It describes Strings as immutable sequences of characters that are different from C/C++ strings which are arrays of characters. It provides examples of immutable classes in Java like String and discusses various methods for manipulating and accessing Strings like length(), charAt(), concat(), equals(), etc. It also covers the StringBuffer class which is mutable and thread-safe for modifying String content.

Uploaded by

Venu D
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 24

String Handling in Java

The basic aim of String Handling concept is storing the string data in the main memory (RAM),

manipulating the data of the String, retrieving the part of the String etc. String Handling provides

a lot of concepts that can be performed on a string such as concatenation of string, comparison

of string, find sub string etc.

Java String contains an immutable sequence of Unicode characters. Java String is differ from

string in C or C++, where (in C or C++) string is simply an array of char. String class is

encapsulated under java.lang package.

Immutable class in Java

Immutable class means that once an object is created, we cannot change its content. In Java, . In

Java String, Integer, Byte, Short, Float, Double and all other wrapper classes are immutable.

Example of Immutable class in Java

// An immutable class
public final class Student
{
final String name;
final int roll_no;

public Student(String name, int roll_no)


{
this.name = name;
this.regNo = roll_no;
}
public String getName()
{
return name;
}
public int getRollNo()
{
return roll_no;
}
}

// Driver class
class Result
{
public static void main(String args[])
{
Student s = new Student("Hitesh", 18);
System.out.println(s.name);
System.out.println(s.roll_no);
}
}

Character

It is an identifier enclosed within single quotes (' ').

Example: 'A', '$', 'p'

String:

String is a sequence of characters enclosed within double quotes (" ") is known as String.

Example: "Java Programming".


In java programming to store the character data we have a fundamental datatype called char.

Similarly to store the string data and to perform various operation on String data, we have three

predefined classes they are:

 String

 StringBuffer

 StringBuilder

String Class in Java

It is a predefined class in java.lang package can be used to handle the String. String class

is immutable that means whose content can not be changed at the time of execution of program.

String class object is immutable that means when we create an object of String class it never

changes in the existing object.

Example:
Example

class StringHandling
{
public static void main(String arg[])
{
String s=new String("java");
s.concat("software");
System.out.println(s);
}
}

Output

java

Explanation: Here we can not change the object of String class so output is only java not java

software.
Methods of String class

length()

length(): This method is used to get the number of character of any string.


Example

class StringHandling
{
public static void main(String arg[])
{
int l;
String s=new String("Java");
l=s.length();
System.out.println("Length: "+l);
}
}

Output

Length: 4

charAt(index)

charAt(): This method is used to get the character at a given index value.


Example

class StringHandling
{
public static void main(String arg[])
{
char c;
String s=new String("Java");
c=s.charAt(2);
System.out.println("Character: "+c);
}
}

Output

Character: v

toUpperCase()

toUpperCase(): This method is use to convert lower case string into upper case.
Example

class StringHandling
{
public static void main(String arg[])
{
String s="Java";
System.out.println("String: "+s.toUpperCase());
}
}

Output

String: JAVA

toLowerCase()

toLowerCase(): This method is used to convert lower case string into upper case.
Example

class StringHandling
{
public static void main(String arg[])
{
String s="JAVA";
System.out.println("String: "+s.toLowerCase());
}
}

Output

String: java

concat()

concat(): This method is used to combined two string.


Example

class StringHandling
{
public static void main(String arg[])
{
String s1="Hitesh";
String s2="Raddy";
System.out.println("Combined String: "+s1.concat(s2));
}
}

Output

Combined String: HiteshRaddy

equals()

equals(): This method is used to compare two strings, It return true if strings are same otherwise

return false. It is case sensitive method.


Example

class StringHandling
{
public static void main(String arg[])
{
String s1="Hitesh";
String s2="Raddy";
String s3="Hitesh";
System.out.println("Compare String: "+s1.equals(s2));
System.out.println("Compare String: "+s1.equals(s3));
}
}

Output

Compare String: false

Compare String: true

equalsIgnoreCase()

equalsIgnoreCase(): This method is case insensitive method, It return true if the contents of

both strings are same otherwise false.


Example

class StringHandling
{
public static void main(String arg[])
{
String s1="Hitesh";
String s2="HITESH";
String s3="Raddy";
System.out.println("Compare String: "+s1.equalsIgnoreCase(s2));
System.out.println("Compare String: "+s1.equalsIgnoreCase(s3));
}
}

Output

Compare String: true


Compare String: false

compareTo()

compareTo(): This method is used to compare two strings by taking unicode values, It return 0 if

the string are same otherwise return +ve or -ve integer values.
Example

class StringHandling
{
public static void main(String arg[])
{
String s1="Hitesh";
String s2="Raddy";
int i;
i=s1.compareTo(s2);
if(i==0)
{
System.out.println("Strings are same");
}
else
{
System.out.println("Strings are not same");
}
}
}

Output

Strings are not same

compareToIgnoreCase()

compareToIgnoreCase(): This method is case insensitive method, which is used to compare

two strings similar to compareTo().


Example
class StringHandling
{
public static void main(String arg[])
{
String s1="Hitesh";
String s2="HITESH";
int i;
i=s1.compareToIgnoreCase(s2);
if(i==0)
{
System.out.println("Strings are same");
}
else
{
System.out.println("Strings are not same");
}
}
}

Output

Strings are same

startsWith()

startsWith(): This method return true if string is start with given another string, otherwise it

returns false.
Example

class StringHandling
{
public static void main(String arg[])
{
String s="Java is programming language";
System.out.println(s.startsWith("Java"));
}
}

Output

true

endsWith()

endsWith(): This method return true if string is end with given another string, otherwise it returns

false.
Example

class StringHandling
{
public static void main(String arg[])
{
String s="Java is programming language";
System.out.println(s.endsWith("language"));
}
}

Output

true

subString()

subString(): This method is used to get the part of given string.


Example

class StringHandling
{
public static void main(String arg[])
{
String s="Java is programming language";
System.out.println(s.substring(8)); // 8 is starting index
}
}

Output

programming language

Example

class StringHandling
{
public static void main(String arg[])
{
String s="Java is programming language";
System.out.println(s.substring(8, 12));
}
}

Output

prog

indexOf()

indexOf(): This method is used find the index value of given string. It always gives starting index

value of first occurrence of string.


Example

class StringHandling
{
public static void main(String arg[])
{
String s="Java is programming language";
System.out.println(s.indexOf("programming"));
}
}

Output

lastIndexOf()

lastIndexOf(): This method used to return the starting index value of last occurence of the given

string.
Example

class StringHandling
{
public static void main(String arg[])
{
String s1="Java is programming language";
String s2="Java is good programming language";
System.out.println(s1.lastIndexOf("programming"));
System.out.println(s2.lastIndexOf("programming"));
}
}

Output

13

trim()

trim(): This method remove space which are available before starting of string and after ending

of string.
Example
class StringHandling
{
public static void main(String arg[])
{
String s=" Java is programming language ";
System.out.println(s.trim());
}
}

Output

Java is programming language

split()

split(): This method is used to divide the given string into number of parts based on delimiter

(special symbols like @ space , ).


Example

class StringHandling
{
public static void main(String arg[])
{
String s="contact@tutorial4us.com";
String[] s1=s.split("@"); // divide string based on @
for(String c:s1) // foreach loop
{
System.out.println(c);
}
}
}

Output

contact
@tutorial4us.com

replace()

replace(): This method is used to return a duplicate string by replacing old character with new

character.

Note: In this method data of original string will never be modify.


Example

class StringHandling
{
public static void main(String arg[])
{
String s1="java";
String s2=s1.replace('j', 'k');
System.out.println(s2);
}
}

Output

kava
StringBuffer Class in Java

It is a predefined class in java.lang package can be used to handle the String, whose object is

mutable that means content can be modify. 

StringBuffer class is working with thread safe mechanism that means multiple thread are not

allowed simultaneously to perform operation of StringBuffer.

StringBuffer class object is mutable that means when we create an object of StringBulder class

it can be change.
Example StringBuffer

class StringHandling
{
public static void main(String arg[])
{
StringBuffer sb=new StringBuffer("java");
sb.append("software");
System.out.println(sb);
}
}

Output

javasoftware

Explanation: Here we can changes in the existing object of StringBuffer class so output is

javasoftware.

Difference Between String and StringBuffer

String StringBuffer

The data which enclosed within double


The data which enclosed within double quote (" ") is
quote (" ") is by default treated as String
not by default treated as StringBuffer class
class.

String class object is immutable StringBuffer class object is mutable

When we create an object of String class When we create an object of StringBuffer class by
by default no additional character memory default we get 16 additional character memory
space is created. space.

Similarities Between String and StringBuffer

 Both of them are belongs to public final. so that they never participates in
inheritance that is is-A relationship is not possible but they can always participates in
As-A and Uses-A relationship.

 We can not override the method of String and StringBuffer.

Methods of StringBuffer class

reverse()
reverse(): This method is used to reverse the given string and also the new value is replaced by

the old string.


Example

class StringHandling
{
public static void main(String arg[])
{
StringBuffer sb=new StringBuffer("java code");
System.out.println(sb.reverse());
}
}

Output

edoc avaj

insert()

insert(): This method is used to insert either string or character or integer or real constant or

boolean value at a specific index value of given string.


Example

class StringHandling
{
public static void main(String arg[])
{
StringBuffer sb=new StringBuffer("this is my java code");
System.out.println(sb.insert(11, "first "));
}
}

Output

this is my first java code


append()

append(): This method is used to add the new string at the end of original string.
Example

class StringHandling
{
public static void main(String arg[])
{
StringBuffer sb=new StringBuffer("java is easy");
System.out.println(sb.append(" to learn"));
}
}

Output

java is easy to learn

replace()

replace() This method is used to replace any old string with new string based on index value.
Example

class StringHandling
{
public static void main(String arg[])
{
StringBuffer sb=new StringBuffer("This is my code");
System.out.println(sb.replace(8, 10, "java"));
}
}

Output

This is java code


Explanation: In above example java string is replaced with old string (my) which is available

between 8 to 10 index value.

deleteCharAt()

deleteCharAt(): This method is used to delete a character at given index value.


Example

class StringHandling
{
public static void main(String arg[])
{
StringBuffer sb=new StringBuffer("java");
System.out.println(sb.deleteCharAt(3));
}
}

Output

jav

delete()

delete(): This method is used to delete string form given string based on index value.
Example

class StringHandling
{
public static void main(String arg[])
{
StringBuffer sb=new StringBuffer("java is easy to learn");
StringBuffer s;
s=sb.delete(8, 13);
System.out.println(sb);
}
}

Output
java is to learn

Explanation: In above example string will be deleted which is existing between 8 and 13 index

value.

toString()

toString(): This method is used to convert mutable string value into immutable string.
Example

class StringHandling
{
public static void main(String arg[])
{
StringBuffer sb=new StringBuffer("java");
String s=sb.toString();
System.out.println(s);
s.concat("code");
}
}

Output

java
Java StringBuilder class
Java StringBuilder class is used to create mutable (modifiable) string. The Java
StringBuilder class is same as StringBuffer class except that it is non-synchronized. It is
available since JDK 1.5.

Java StringBuilder Examples


Let's see the examples of different methods of StringBuilder class.

1) StringBuilder append() method


The StringBuilder append() method concatenates the given argument with this string.

1. class StringBuilderExample{  
2. public static void main(String args[]){  
3. StringBuilder sb=new StringBuilder("Hello ");  
4. sb.append("Java");//now original string is changed  
5. System.out.println(sb);//prints Hello Java  
6. }  
7. }  

2) StringBuilder insert() method


The StringBuilder insert() method inserts the given string with this string at the given
position.

1. class StringBuilderExample2{  
2. public static void main(String args[]){  
3. StringBuilder sb=new StringBuilder("Hello ");  
4. sb.insert(1,"Java");//now original string is changed  
5. System.out.println(sb);//prints HJavaello  
6. }  
7. }  

3) StringBuilder replace() method


The StringBuilder replace() method replaces the given string from the specified beginIndex
and endIndex.

1. class StringBuilderExample3{  
2. public static void main(String args[]){  
3. StringBuilder sb=new StringBuilder("Hello");  
4. sb.replace(1,3,"Java");  
5. System.out.println(sb);//prints HJavalo  
6. }  
7. }  

4) StringBuilder delete() method


The delete() method of StringBuilder class deletes the string from the specified beginIndex
to endIndex.

1. class StringBuilderExample4{  
2. public static void main(String args[]){  
3. StringBuilder sb=new StringBuilder("Hello");  
4. sb.delete(1,3);  
5. System.out.println(sb);//prints Hlo  
6. }  
7. }  

5) StringBuilder reverse() method


The reverse() method of StringBuilder class reverses the current string.

1. class StringBuilderExample5{  
2. public static void main(String args[]){  
3. StringBuilder sb=new StringBuilder("Hello");  
4. sb.reverse();  
5. System.out.println(sb);//prints olleH  
6. }  
7. }  

6) StringBuilder capacity() method


The capacity() method of StringBuilder class returns the current capacity of the Builder. The
default capacity of the Builder is 16. If the number of character increases from its current
capacity, it increases the capacity by (oldcapacity*2)+2. For example if your current
capacity is 16, it will be (16*2)+2=34.

1. class StringBuilderExample6{  
2. public static void main(String args[]){  
3. StringBuilder sb=new StringBuilder();  
4. System.out.println(sb.capacity());//default 16  
5. sb.append("Hello");  
6. System.out.println(sb.capacity());//now 16  
7. sb.append("java is my favourite language");  
8. System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2  
9. }  
10. }  

7) StringBuilder ensureCapacity() method


The ensureCapacity() method of StringBuilder class ensures that the given capacity is the
minimum to the current capacity. If it is greater than the current capacity, it increases the
capacity by (oldcapacity*2)+2. For example if your current capacity is 16, it will be
(16*2)+2=34.

1. class StringBuilderExample7{  
2. public static void main(String args[]){  
3. StringBuilder sb=new StringBuilder();  
4. System.out.println(sb.capacity());//default 16  
5. sb.append("Hello");  
6. System.out.println(sb.capacity());//now 16  
7. sb.append("java is my favourite language");  
8. System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2  
9. sb.ensureCapacity(10);//now no change  
10. System.out.println(sb.capacity());//now 34  
11. sb.ensureCapacity(50);//now (34*2)+2  
12. System.out.println(sb.capacity());//now 70  
13. }  
14. }  

You might also like