We may not have the course you’re looking for. If you enquire or give us a call on +65 6929 8747 and speak to our training experts, we may still be able to help with your training requirements.
Training Outcomes Within Your Budget!
We ensure quality, budget-alignment, and timely delivery by our expert instructors.
Just like the Developers use Java programming language to communicate with computers and software, did you know that this programming language has its own way of communication? Yes, It’s the Java String that becomes fundamental for communication in the Java programming language.
According to Statista, Java programming is among the top six widely used programming languages as of 2022. So, suppose you, too, are in a race to become a Developer. In that case, becoming entirely familiar with Java and its fundamentals to develop various business processes becomes important. Still, trying to figure out where to start? You need not gamble through the web anymore. Let’s begin with the basics.
A String in Java is an object that represents a sequence of characters. But this is just the surface knowledge! Read this blog further to learn more about Java Strings and how to create them with the help of examples.
Table of Contents
1) All you need to know about Java String
2) How can you implement a Java String?
3) Using String literal
4) Using new keyword
5) Various methods of Strings
6) Conclusion
All you need to know about Java String
A String in Java can be defined as an Object representing a sequence of characters in the Java programming language. One of the examples of a String in Java is as follows:
String myString = "Hello World!";
In the above example, a String variable named myString was created and assigned the value “Hello World!”. Thus, “Hello” becomes a String with a sequence of characters “H, E, L, L and O.”
The Strings in this programming language fall into a pre-defined String Class. Thus, the String Class allows the users to create, manipulate and sort Strings in a program.
Java Strings are immutable
The Java Strings are immutable, which means that these Strings, once created, cannot be modified or altered. While the String data cannot be changed, a new String can be created. It is because Java String is created in String literal. Let’s understand this concept with the help of an example:
public class StringImmutability
{ public static void main(String[] args)
{
String s1 = "Hello";
String s2 = s1;
// printing the initial values of s1 and s2
System.out.println("s1 = " + s1); // output: s1 = Hello
System.out.println("s2 = " + s2); // output: s2 = Hello
// modifying s1
s1 = s1.concat(" World");
// printing the modified values of s1 and s2
System.out.println("s1 = " + s1); // output: s1 = Hello World
System.out.println("s2 = " + s2); // output: s2 = Hello
}
}
The output will be as follows:
s1 = Hello
s2 = Hello
s1 = Hello World
s2 = Hello
The above program creates the two String objects: s1 and s2. Initially, both s1 and s2 mean “Hello” String literal, which is already present in the constant pool.
After concatenating s1 with the “World” String using the concat() method, a new String is created in the concatenation of the original String. Thus, the s1 variable converts into a new String Object with the “Hello World” value.
However, it is to note that the s2 still denotes the “Hello” String. Therefore, while the original String Object is immutable and unalterable, any operation performed to modify it creates a new String object with a modified value.
Learn everything about Advance Java and how to develop enterprise application for an organisation, register for our Introduction To Java EE Training Course now!
How can you implement a Java String?
The String Class implements various interfaces: Serializable, Comparable and CharSequence. Here, the CharSequence Interface represents the sequence of characters.
Apart from that, StringBuffer and StringBuilder Classes also implement the CharSequence. Thus, to create a Java String, a user can use three Classes: String, StringBuffer and StringBuilder. The most basic Method to create a String is:
String myString = "Hello, world!";
String myString = new String("Hello, world!");
Here is another example of how to implement a String:
import java.util.*;
// Program to print a String
// By The Knowledge Academy
class Dcoder
{
public static void main(String args[])
{
String myString = "Hello World";
System.out.println(myString);
}
}
The output it will yield will be as follows:
Hello World
However, there are two other ways as well to create and print String Objects, and those are as follows:
Using String Literal
In Java, the Java Virtual Machine (JVM) maintains a “String Constant Pool” where all the Strings are stored inside a memory. Thus, the JVM first checks for identical Strings whenever a String is created using a String literal.
public class HelloWorld
{
public static void main(String[] args)
{
String message = "Hello, World!";
System.out.println(message);
}
}
In the above example, a String variable message is created and initialised with the String literal "Hello, World!". It is important to note that the String literals are enclosed in double quotes (”). Its output will be as follows:
Hello, World!
While using String literal to create an Object, if it already exists in the pool, those Strings are reused, i.e., a reference is added to the already present String. However, if the pool doesn’t contain the String, a new instance is created and added to the pool.
Using new keyword
Creating Strings using a new keyword means the String value is not directly provided. Rather, a new String is created in the non-pool (normal heap memory) and will then be stored in the String Constant pool, creating a new Object. Once stored in the constant pool; further, no new Object will be created, but it will return the identical object.
public class HelloWorld
{
public static void main(String[] args)
{ String message = new String("Hello, World!");
System.out.println(message);
}
}
The output it gives will be:
Hello, World!
The above example shows that a String variable message is created by calling the String constructor with the String "Hello, World!" as an argument. This further created a new String Object in memory, even though the same String literal may already have existed in the String pool.
The interesting thing to note here is that every new String created using a new keyword will be less efficient than a String literal. It is because a new object is created every time, even when a reference String already exists in the pool. Thus, making the Java memory less efficient.
Gain an understanding of the important concept of GUI programming with Java, register Java Swing Development Training course now!
Various methods of Strings
The String Class in Java provides various Methods to manipulate Strings and perform different operations. Let’s look at all of the Methods in detail:
Method |
Description |
charAt() |
This Method returns the char value at the particular index. |
length() |
It returns the length of the String. |
concat() |
This Method is used to join two Strings together. |
equals() |
The equals Method makes comparison between two Strings. |
equalsIgnoreCase() |
This Method compares two Strings regardless of the case, whether lower or upper. |
compareTo() |
It compares two Strings in an alphabetical order by returning a positive number or a negative number or a zero. |
valueOf() |
It is used to return the String sequence of a particular argument. |
contains() |
The contains() Method is used to test whether the specified String contains any subString or not. |
subString() |
It is a Method to return a new String as a subString of the specified String. |
getBytes() |
It encodes the String into an array of bytes. |
join() |
This Method returns the given Strings after joining them using the delimiter. |
replace() |
It is used to replace an old String with a new one by replacing the CharSequence. |
replaceAll() |
It replaces all the sequence of characters matching the Regular Expression or regex pattern. |
indexOf() |
It is a Method that is used to return the position a particular character whenever it occurs first in the given String. |
trim() |
Eliminates any major and trailing whitespace. |
split() |
This Method is used to divide the specified String into an array of Strings and return a Char array. |
isEmpty() |
It checks for a String to be empty or not. |
intern() |
This Method returns the standardised format of a String. |
toCharArray() |
It converts the given String to a newly created character array. |
toLowerCase() |
The toLowerCase() returns the String as a lower-case character. |
toUpperCase() |
This Method returns the String as upper-case character. |
startsWith() |
The startsWith() Method checks if the String begins with the specified String. |
endsWith() |
It checks for the String to end with the specified String. |
Conclusion
We hope that through this blog, you can understand everything about Java String. However, it is just part and parcel of the Java programming language; to ace the race of becoming a Developer, you need to familiarise yourself with Java entirely.
But you need not panic! Learn Java from basics and become a master of coding; register for our Java Training course now!
Frequently Asked Questions
Upcoming Programming & DevOps Resources Batches & Dates
Date
Mon 6th Jan 2025
Mon 17th Mar 2025
Mon 12th May 2025
Mon 7th Jul 2025
Mon 15th Sep 2025
Mon 3rd Nov 2025
Mon 15th Dec 2025