fastread homefastrread library fastread menu

Java : String

Tutorial by:Arena Buocel      Date: 2016-04-30 00:26:15

❰ Previous Next ❱

Java String provides a lot of concepts that can be performed on a string such as compare, concat, equals, split, length, replace, compareTo, intern, substring etc.

In java, string is basically an object that represents sequence of char values.

An array of characters works same as java string. For example:

char[] ch={'j','a','v','a','t','p','o','i','n','t'};  

String s=new String(ch);  

is same as:

String s="javatpoint";  

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

The java String is immutable i.e. it cannot be changed but a new instance is created. For mutable class, you can use StringBuffer and StringBuilder class.

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. String class is used to create string object.

How to create String object?

There are two ways to create String object:

By string literal

By new keyword

String Literal

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

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. For example:

String s1="Welcome";  

String s2="Welcome";//will not create new instance  

In the above example only one object will be created. Firstly JVM will not find any string object with the value "Welcome" in string constant pool, so it will create a new object. After that it will find the string with the value "Welcome" in the pool, it will not create new object but will return the reference to the same instance.

Note: String objects are stored in a special memory area known as string constant 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

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

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.





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.

Do You Know ?

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?


❰ Previous Next ❱


Submit Your Thought, Tutorial, Articls etc.

Submit Your Information India's Number one online promotion website