Strings in Java
Java programming language comes up with the String class that can be used for creating strings in programs.
The strings are widely used in programming languages that are a combination of characters.
As the String is a class in Java, you have to create objects for creating any string.
//Creating a simple string String Str_demo = "Java"; //Creating by ‘new’ keyword String Str_demo = new String();
Before going into further details, have a look at how you may create strings in Java.
An example of creating a simple string
A string can be created just like primitive type variables in the Java program as follows:
Code for creating a simple string:
public class String_demo { public static void main(String []args) { String Str_demo = "This is a Java String tutorial!"; // creating a simple string System.out.println(Str_demo); } }
Output:
So, a simple string can be created without using the new keyword:
As this code executes and the compiler finds any string literal, it creates a string object with its value.
Creating string with new keyword example
As such, String is the class; just like creating other objects in Java programming, you may create a string object by using the new keyword and constructor as follows:
The code for creating a string with new keyword:
public class String_demo { public static void main(String []args) { String Str_demo = new String(); Str_demo = "The string class has 40 methods!"; System.out.println(Str_demo); } }
Result:
The string class has 40 methods!
An example of creating string from an array
You may use different sources for creating the strings. In the above examples, I created a string that is enclosed in double quotes. You may create a string from an array or other sources.
See an example below:
The code:
public class String_demo { public static void main(String []args) { char[] charArr = { 'S', 'a', 'y', ' ', 'h', 'e','l','l','o' }; String Str_demo = new String(charArr); System.out.println(Str_demo); } }
Output:
Main points about Java strings
- A string is a sequence of characters.
- The String is a class in Java.
- The string class is immutable. That means a string object cannot be changed after it is created.
- Number of constructors of the string class is eleven.
- The string class has plenty of useful functions. A few are demonstrated below.
An example of using the string length function
The string length method can be used to get the total number of characters in the given string object. See this example where I have created the following string object:
See the code and output for getting the length of that string in Java program:
The code:
public class String_demo { public static void main(String []args) { String Str_demo = "The string in Java is immutable"; // creating a simple string int str_len = Str_demo.length(); System.out.println("The length of the string is = " + str_len); } }
Output:
The example of using the concat method
The strings can be concatenated by using the string class method concat().
You may concatenate string objects including string literals. Have a look at this example where three strings are created.
First is the string object. The second is a string object with a value. The third string is the concatenated string of the other two strings along with its own value:
The code:
public class String_demo { public static void main(String []args) { String Str_1 = "series of characters and "; // creating a simple string String Str_2 = new String(); String Str_3 = new String(); Str_2 = "immutable in Java."; Str_3 = "The Strings are " .concat(Str_1) .concat(Str_2); System.out.println(Str_3); } }
Output:
A demo of using the replace method of Strings
The string replace method can be used for replacing the given characters with new characters in the given string.
See this example where the following string is created “The java string is an object.”
By using the replace method, the ‘j’ is replaced by capital ‘J’:
The string replace method code:
public class String_demo { public static void main(String []args) { String Strex = "The java string is an object."; // creating simple System.out.println("Actual String = " + Strex); System.out.println("After using replace method: " + Strex.replace('j', 'J')); } }
Output:
After using replace method: The Java string is an obJect.
An example of using the string split method
The split method of the String class returns an array of broken strings. The split method breaks the string by the given word or regular expression.
For example, you may specify “and” “or” etc. to break the string.
See this example where I have broken the string by specifying the “and” word. As the split method returns an array, the for loop is used to display the returned array elements:
The split method code:
public class String_demo { public static void main(String []args) { String StrSplit; StrSplit ="Java string class has 40 methods and among those is a split method."; for (String Strbroken: StrSplit.split(" and ")){ System.out.println(Strbroken); } } }
Output:
among those is a split method.
A demo of using the format method of String class
For string formatting, you may use the format method of the String class.
In the following example, the format method is used where “%d” formatting character is used that will replace the integer values in the given string:
The code for formatting the string:
public class String_demo { public static void main(String []args) { int int_method; int int_constructors; int_method = 40; int_constructors= 11; String formatted_String; formatted_String =String.format("The String class has %d methods and %d constructors" ,int_method,int_constructors); System.out.println(formatted_String); } }
Output:
There are other useful methods in the String class like substring, equals, indexof, compare, etc.