A string is a sequence of characters. In the Java programming language, strings are objects.strings are not primitive data types in Java, and therefore need to be represented by a class. Java has a class named String to represent string objects.
String represents fixed-length, immutable character sequences
String e = " "; // an empty string
String name = new String("Ravi");
The String class has thirteen constructors that allow you to provide the initial value of the string using different sources, such as an array of characters
char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.' };
String helloString = new String(helloArray);
System.out.println(helloString);
length() method returns the number of characters contained in the string object.
String name = "Mohan";
int len = name.length();
The String class includes a method for concatenating two strings
String string1="Ravi";
String string2=" Kumar";
string1.concat(string2);
This returns a new string that is string1 with string2 added to it at the end.
i.e. Ravi Kumar
Strings are more commonly concatenated with the + operator
"Hello," + " world" + "!"
which results in
"Hello, world!"
The + operator is widely used in print statements. For example
String string1 = "is a ";
System.out.println("Ravi " + string1 + "good painter.");
which prints
Ravi is a good painter.
Such a concatenation can be a mixture of any objects. For each object that is not a String, its toString() method is called to convert it to a String.
The String class has an equivalent class method, format(), that returns a String object rather than a PrintStream object.
Using String's static format() method allows you to create a formatted string that you can reuse, as opposed to a one-time print statement. For example, instead of
System.out.printf("The value of the float " + "variable is %f, while " + "the value of the " + "integer variable is %d, " + "and the string is %s", floatVar, intVar, stringVar);
you can write
String s;
s = String.format("The value of the float " + "variable is %f, while " + "the value of the " + "integer variable is %d, " + " and the string is %s", floatVar, intVar, stringVar); System.out.println(s);
To convert a number to a string you need to operate on the value in its string form. There are several easy ways to convert a number to a string.
int i;
// Concatenate "i" with an empty string; conversion is handled for you.
String s1 = "" + i;
or
// The valueOf class method.
String s2 = String.valueOf(i);
Each of the Number subclasses includes a class method, toString(), that will convert its primitive type to a string. For example:
int i;
double d;
String s3 = Integer.toString(i);
String s4 = Double.toString(d);
Here is the list of methods supported by String class −
Sr.No. | Method & Description |
---|---|
1 | char charAt(int index)
Returns the character at the specified index. |
2 | int compareTo(Object o)
Compares this String to another Object. |
3 | int compareTo(String anotherString)
Compares two strings lexicographically. |
4 | int compareToIgnoreCase(String str)
Compares two strings lexicographically, ignoring case differences. |
5 | String concat(String str)
Concatenates the specified string to the end of this string. |
6 | boolean contentEquals(StringBuffer sb)
Returns true if and only if this String represents the same sequence of characters as the specified StringBuffer. |
7 | static String copyValueOf(char[] data)
Returns a String that represents the character sequence in the array specified. |
8 | static String copyValueOf(char[] data, int offset, int count)
Returns a String that represents the character sequence in the array specified. |
9 | boolean endsWith(String suffix)
Tests if this string ends with the specified suffix. |
10 | boolean equals(Object anObject)
Compares this string to the specified object. |
11 | boolean equalsIgnoreCase(String anotherString)
Compares this String to another String, ignoring case considerations. |
12 | byte getBytes()
Encodes this String into a sequence of bytes using the platform's default charset, storing the result into a new byte array. |
13 | byte[] getBytes(String charsetName)
Encodes this String into a sequence of bytes using the named charset, storing the result into a new byte array. |
14 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
Copies characters from this string into the destination character array. |
15 | int hashCode()
Returns a hash code for this string. |
16 | int indexOf(int ch)
Returns the index within this string of the first occurrence of the specified character. |
17 | int indexOf(int ch, int fromIndex)
Returns the index within this string of the first occurrence of the specified character, starting the search at the specified index. |
18 | int indexOf(String str)
Returns the index within this string of the first occurrence of the specified substring. |
19 | int indexOf(String str, int fromIndex)
Returns the index within this string of the first occurrence of the specified substring, starting at the specified index. |
20 | String intern()
Returns a canonical representation for the string object. |
21 | int lastIndexOf(int ch)
Returns the index within this string of the last occurrence of the specified character. |
22 | int lastIndexOf(int ch, int fromIndex)
Returns the index within this string of the last occurrence of the specified character, searching backward starting at the specified index. |
23 | int lastIndexOf(String str)
Returns the index within this string of the rightmost occurrence of the specified substring. |
24 | int lastIndexOf(String str, int fromIndex)
Returns the index within this string of the last occurrence of the specified substring, searching backward starting at the specified index. |
25 | int length()
Returns the length of this string. |
26 | boolean matches(String regex)
Tells whether or not this string matches the given regular expression. |
27 | boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
Tests if two string regions are equal. |
28 | boolean regionMatches(int toffset, String other, int ooffset, int len)
Tests if two string regions are equal. |
29 | String replace(char oldChar, char newChar)
Returns a new string resulting from replacing all occurrences of oldChar in this string with newChar. |
30 | String replaceAll(String regex, String replacement)
Replaces each substring of this string that matches the given regular expression with the given replacement. |
31 | String replaceFirst(String regex, String replacement)
Replaces the first substring of this string that matches the given regular expression with the given replacement. |
32 | String[] split(String regex)
Splits this string around matches of the given regular expression. |
33 | String[] split(String regex, int limit)
Splits this string around matches of the given regular expression. |
34 | boolean startsWith(String prefix)
Tests if this string starts with the specified prefix. |
35 | boolean startsWith(String prefix, int toffset)
Tests if this string starts with the specified prefix beginning a specified index. |
36 | CharSequence subSequence(int beginIndex, int endIndex)
Returns a new character sequence that is a subsequence of this sequence. |
37 | String substring(int beginIndex)
Returns a new string that is a substring of this string. |
38 | String substring(int beginIndex, int endIndex)
Returns a new string that is a substring of this string. |
39 | char[] toCharArray()
Converts this string to a new character array. |
40 | String toLowerCase()
Converts all of the characters in this String to lower case using the rules of the default locale. |
41 | String toLowerCase(Locale locale)
Converts all of the characters in this String to lower case using the rules of the given Locale. |
42 | String toString()
This object (which is already a string!) is itself returned. |
43 | String toUpperCase()
Converts all of the characters in this String to upper case using the rules of the default locale. |
44 | String toUpperCase(Locale locale)
Converts all of the characters in this String to upper case using the rules of the given Locale. |
45 | String trim()
Returns a copy of the string, with leading and trailing whitespace omitted. |
46 | static String valueOf(primitive data type x)
Returns the string representation of the passed data type argument. |