Java String length() method

The length() method of a String object in Java provides the precise count of characters contained within the string. It accurately represents the number of Unicode code units present in the string, thus capturing the complete textual content of the string.

public int length()

There is no parameter for length() and it returns the count of total number of characters. Also note that the method is not static, this means that the method can only be invoked through a Java String instance.

It is important to note that the length of a Java string is determined by the number of Unicode code units it comprises. Unicode code units can represent a single character or a surrogate pair, which allows the string to handle a wide range of characters from different writing systems.

class TestClass{ public static void main (String[] args){ String str = "Halo World!"; System.out.print("The length of the String is :" + str.length() ); } }
The length of the String is :11

By invoking the length() method on a String object, you can obtain the exact count of characters contained within the string. This count includes any whitespace, punctuation marks, or special symbols present in the string, all of which contribute to the overall length.

It is crucial to understand that the length() method provides an accurate measurement of the string's length, taking into account the full range of Unicode characters it encompasses. This ensures that the length of the string aligns with its intended textual content, allowing for precise calculations and manipulations when working with Java strings.

How check the String is empty or not?

The following Java program check whether the string is empty or not.

class TestClass { public static void main (String[] args){ String str = "Halo World!"; int len = str.length(); if(len<=0) System.out.println("String is Empty !!"); else System.out.println("String is not Empty !!"); } }
String is not Empty !!

Printing one char on each line in Java

The following program display each character in a string one by one.

class TestClass { public static void main (String[] args){ String str = "Halo World!!"; int len = str.length(); for (int idx = 0; idx <len; idx++) { char ch = str.charAt(idx); System.out.println(ch); } } }
H a l o W o r l d ! !

What is the maximum size of string in Java?

The maximum size of a String is limited by the maximum size of an array, which is Integer.MAX_VALUE. According to the Java specification, the maximum value of Integer.MAX_VALUE is always 2147483647, which represents 2^31 - 1.

The size of a String is determined by the number of characters it contains. Each character in Java is represented by two bytes (16 bits) due to the use of the UTF-16 encoding, which allows the representation of a wide range of Unicode characters.

Considering the memory constraints, the maximum size of a String can also be limited by the available heap space in your Java application. The heap size determines the amount of memory allocated to your program, and it can vary depending on your system configuration and JVM settings.

In practical terms, you should be able to create a String with a length of Integer.MAX_VALUE or half of your maximum heap size, whichever is smaller. However, it's worth noting that creating a String of such extreme size might have significant memory implications and may not be practical in most scenarios.


Consider the memory limitations of your system and the specific requirements of your application when working with large strings. If you need to handle extremely large amounts of text, you might want to explore alternative approaches or data structures that allow for more efficient memory management, such as streaming or chunking techniques.