TheDeveloperBlog.com

Home | Contact Us

C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML

Java String

Java String class with methods such as concat, compareTo, split, join, replace, trim, length, intern, equals, comparison, substring operation.

<< Back to 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:

char[] ch={'j','a','v','a','t','p','o','i','n','t'};
String s=new String(ch);

is same as:

String s="TheDeveloperBlog";

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

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

String in Java

CharSequence Interface

The CharSequence interface is used to represent the sequence of characters. String, StringBuffer and StringBuilder classes implement it. It means, we can create strings in Java by using these three classes.

CharSequence in Java

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

We will discuss immutable string later. Let's first understand what String in Java is 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 a string object.

How to create a 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:

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 the 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";//It doesn't create a new instance

Java String

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 that is why it will create a new object. After that it will find the string with the value "Welcome" in the pool, it will not create a new object but will return the reference to the same instance.

Note: String objects are stored in a special memory area known as the "string constant pool".

Why Java uses the concept of String literal?

To make Java more memory efficient (because no new objects are created if it exists already in the 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 a heap (non-pool).

Java String Example

StringExample.java

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  
System.out.println(s1);  
System.out.println(s2);  
System.out.println(s3);  
}}  
Test it Now

Output:

java
strings
example

The above code, converts a char array into a String object. And displays the String objects s1, s2, and s3 on console using println() method.

Java String class methods

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

No.MethodDescription
1char charAt(int index)It returns char value for the particular index
2int length()It returns string length
3static String format(String format, Object... args)It returns a formatted string.
4static String format(Locale l, String format, Object... args)It returns formatted string with given locale.
5String substring(int beginIndex)It returns substring for given begin index.
6String substring(int beginIndex, int endIndex)It returns substring for given begin index and end index.
7boolean contains(CharSequence s)It returns true or false after matching the sequence of char value.
8static String join(CharSequence delimiter, CharSequence... elements)It returns a joined string.
9static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements)It returns a joined string.
10boolean equals(Object another)It checks the equality of string with the given object.
11boolean isEmpty()It checks if string is empty.
12String concat(String str)It concatenates the specified string.
13String replace(char old, char new)It replaces all occurrences of the specified char value.
14String replace(CharSequence old, CharSequence new)It replaces all occurrences of the specified CharSequence.
15static String equalsIgnoreCase(String another)It compares another string. It doesn't check case.
16String[] split(String regex)It returns a split string matching regex.
17String[] split(String regex, int limit)It returns a split string matching regex and limit.
18String intern()It returns an interned string.
19int indexOf(int ch)It returns the specified char value index.
20int indexOf(int ch, int fromIndex)It returns the specified char value index starting with given index.
21int indexOf(String substring)It returns the specified substring index.
22int indexOf(String substring, int fromIndex)It returns the specified substring index starting with given index.
23String toLowerCase()It returns a string in lowercase.
24String toLowerCase(Locale l)It returns a string in lowercase using specified locale.
25String toUpperCase()It returns a string in uppercase.
26String toUpperCase(Locale l)It returns a string in uppercase using specified locale.
27String trim()It removes beginning and ending spaces of this string.
28static String valueOf(int value)It converts given type into string. It is an overloaded method.

Do You Know?
  • Why are String objects immutable?
  • How to create an immutable class?
  • What is string constant pool?
  • What code is written by the compiler if you concatenate any string by + (string concatenation operator)?
  • What is the difference between StringBuffer and StringBuilder class?

What will we 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

Next TopicImmutable String




Related Links:


Related Links

Adjectives Ado Ai Android Angular Antonyms Apache Articles Asp Autocad Automata Aws Azure Basic Binary Bitcoin Blockchain C Cassandra Change Coa Computer Control Cpp Create Creating C-Sharp Cyber Daa Data Dbms Deletion Devops Difference Discrete Es6 Ethical Examples Features Firebase Flutter Fs Git Go Hbase History Hive Hiveql How Html Idioms Insertion Installing Ios Java Joomla Js Kafka Kali Laravel Logical Machine Matlab Matrix Mongodb Mysql One Opencv Oracle Ordering Os Pandas Php Pig Pl Postgresql Powershell Prepositions Program Python React Ruby Scala Selecting Selenium Sentence Seo Sharepoint Software Spellings Spotting Spring Sql Sqlite Sqoop Svn Swift Synonyms Talend Testng Types Uml Unity Vbnet Verbal Webdriver What Wpf