Introduction String Handling in Java

string is a sequence of characters. But in java, string is an object. String class is used to create string object.string such as compare, concat, equals, split, length, replace, compareTo, intern, substring etc.


java String Class is immutable, i.e. Strings in java, once created and initialized, cannot be changed on the same reference. A java.lang.String class is final which implies no class and extend it.

Creating Strings:

The most direct way to create a string is to write:

String greeting = "Hello world!";

There are two type to create String object:

  • By string literal (String literal is created by double quote.For Example: String s="Hello";
  • By new keyword
String s=new String("Welcome");//creates two objects and one reference variable

In such case, JVM will create a new String object in normal(nonpool) Heap memory and the literal "Welcome" will be placed in the string constant pool.The variable s will refer to the object in Heap(nonpool)

Java Library provides 4 classes to represent & manipulate a string.

  • String
  • StringBuffer
  • StringBuilder
  • StringTokenizer

A string object can be created using following constructors:-

  • public String();
  • public String(char[]);
  • public String(char[], int offset, int NoOfChar);
  • public String(byte[]);
  • public String(byte[], int offset, int NoOfBytes);
  • public String(String s);
 public class StringExample {

	public static void main(String args[]) {
		String s1 = "java";// creating string by java string literal

		char ch[] = { 's', 't', 'r', 'i', 'n', 'g', 's' };
		String s2 = new String(ch);// converting char array to string

		String s3 = new String("example");// creating java string by new keyword



Java String class methods

The java.lang.String class provides many useful methods to perform operations on sequence of char values.

Method Description
char charAt(int index) returns char value for the particular index
int length() returns string length
static String format(String format, Object... args) returns formatted string
static String format(Locale l, String format, Object... args) returns formatted string with given locale
String substring(int beginIndex) returns substring for given begin index
String substring(int beginIndex, int endIndex) returns substring for given begin index and end index
boolean contains(CharSequence s) returns true or false after matching the sequence of char value
static String join(CharSequence delimiter, CharSequence... elements) returns a joined string
static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements) returns a joined string
boolean equals(Object another) checks the equality of string with object
boolean isEmpty() checks if string is empty
String concat(String str) concatinates specified string
String replace(char old, char new) replaces all occurrences of specified char value
String replace(CharSequence old, CharSequence new) replaces all occurrences of specified CharSequence
String trim() returns trimmed string omitting leading and trailing spaces
String split(String regex) returns splitted string matching regex
String split(String regex, int limit) returns splitted string matching regex and limit
String intern() returns interned string
int indexOf(int ch) returns specified char value index
int indexOf(int ch, int fromIndex) returns specified char value index starting with given index
int indexOf(String substring) returns specified substring index
int indexOf(String substring, int fromIndex) returns specified substring index starting with given index
String toLowerCase() returns string in lowercase.
String toLowerCase(Locale l) returns string in lowercase using specified locale.
String toUpperCase() returns string in uppercase.
String toUpperCase(Locale l) returns string in uppercase using specified locale.

String Interview Questions
  • What is a string in Java?
  • What is a string literal?
  • Why String objects are immutable?
  • How to create an immutable class?
  • What is string constant pool?
  • What code is written by the compiler if you concat any string by + (string concatenation operator)?
  • What is the difference between StringBuffer and StringBuilder class?

We will learn in String Handling ?
  • Concept of String
  • Immutable String
  • String Comparison
  • String Concatenation
  • Concept of Substring
  • String class methods and its usage
  • StringBuffer class
  • StringBuilder class
  • Creating Immutable class
  • toString() method
  • StringTokenizer class