Java Tutorials-9-String Handling In Java

Java String

In java, string is basically an object that represents sequence of char values. An array of characters works same as java string. For example:

  1. char[] ch={‘i’,‘t’,‘p’,‘r’,‘o’,‘f’,‘e’,‘s’,‘s’,‘i’,’o’,’n’,’a’,’l’};
  2. String s=new String(ch);

is same as:

  1. String s=“itprofessional”;

Java String class provides a lot of methods to perform operations on string such as compare(), concat(), equals(), split(), length(), replace(), compareTo(), intern(), substring() etc.

The java.lang.String class implements Serializable, Comparable and CharSequence interfaces.

string implements serializable, comparable, charsequence

CharSequence Interface

The CharSequence interface is used to represent sequence of characters. It is implemented by String, StringBuffer and StringBuilder classes. It means, we can create string in java by using these 3 classes.


The java String is immutable i.e. it cannot be changed. Whenever we change any string, a new instance is created. For mutable string, you can use StringBuffer and StringBuilder classes.

We will discuss about immutable string later. Let’s first understand what is string in java and how to create the string object.

What is String in java

Generally, string is a sequence of characters. But in java, string is an object that represents a sequence of characters. The java.lang.String class is used to create string object.

How to create String object?

There are two ways to create String object:

  1. By string literal
  2. By new keyword

1) String Literal

Java String literal is created by using double quotes. For Example:

  1. String s=“welcome”;

Each time you create a string literal, the JVM checks the string constant pool first. If the string already exists in the pool, a reference to the pooled instance is returned. If string doesn’t exist in the pool, a new string instance is created and placed in the pool.

Why java uses concept of string literal?

To make Java more memory efficient (because no new objects are created if it exists already in string constant pool).

2) By new keyword

  1. String s=new String(“Welcome”);//creates two objects and one reference variable

In such case, JVM will create a new string object in normal(non pool) heap memory and the literal “Welcome” will be placed in the string constant pool. The variable s will refer to the object in heap(non pool).


Java String Example

Output :