What is String.repeat in Java?
Java 11 adds a new method called repeat to the String class. The repeat method returns a new string whose value is the concatenation of this string repeated n times, where n is passed as an argument.
Method signature
public String repeat(int n)
// n -- The number of times the string needs to be repeated
Example
public class Main{public static void main(String[] args) {String str = ". ";System.out.println( str.repeat(5) ); //. . . . .}}// the above method will return a new string with ". " repeated five times//. . . . .
The above code can be tested online here.
Points to note
-
If
n = 0, then an empty string is returned. -
If
n = 1, then a reference to the original string is returned. -
If
n < 0, thenIllegalArgumentExceptionis thrown. -
If the string is empty, then the repeat method will return an empty string for all positive
nvalues. -
If the resulting string is too big, then
OutOfMemoryErrorexception will be thrown.
All the above cases are covered in the example below.
public class HelloWorld {public static void main(String[] args) {String str = "test";System.out.println("Passing n = 0 will return an empty string" + str.repeat(0));String oneTimeRepeatedString = str.repeat(1);System.out.println("Passing n = 1 will return a reference to this string " + oneTimeRepeatedString);System.out.println("Checking if references are equal by str == oneTimeRepeatedString " + (oneTimeRepeatedString == str) );try {System.out.println("Passing n < 0 will throw an IllegalArgumentException" + str.repeat(-1));} catch(Exception e) {System.out.println(e);}try {System.out.println("Passing larger n values will throw an OutOfMemoryError" + str.repeat(Integer.MAX_VALUE));} catch(Exception e) {System.out.println(e);}}}
You can execute the above code online here.