Creating Strings
1. We can create a string by declaring and initializing a String class object directly.
Eg: String str = "Hello";
2. We can create a "String" class object using new operator
Eg: String str = new String("Hello");
3. We can create objects by converting character arrays into String objects.
Eg: char arr[] = {'a', 'b', 'c', 'd', 'e'};
String s1 = new String(arr);
String s2 = new String(arr, 1, 3);
Methods of a class java.lang.String
1. String concat(String str): Concatenates the calling string with str.We can achieve this by plus (+) operator as well.
2. int length(): returns the length of a String.
3. char charAt(int index): returns the character at the specified location. Java string index starts from "0".
4. int compareTo(String str): returns a negative value if the calling string comes before str in dictionary order, a positive value if the string comes after str, or 0 if the strings are equal.
5. boolean equals(String str): returns true if the calling string equals to the str.
Eg: String s1 = "Boy";
String s2 = "Box";
int n = s1.compareTo(s2); // Returns a positive value
6. boolean equalsIgnoreCase(String str): this is similar to equals but this method does case insensitive comparison.
7. boolean startsWith(String prefix): returns true if the calling string starts with prefix.
Eg: String str = "He is a boy";
boolean x = str.startsWith("He"); //Returns true
8. boolean endsWith(String suffix): returns true if the calling string ends with suffix.
Eg: String str = "He is a boy";
boolean x = str.endsWith("boy"); //Returns true
Note: Both startsWith and endsWith use case sensitive comparison.
9. int indexOf(String str): returns the first occurance of str in the string.
Eg: String str = "He is a boy";
int n = str.indexOf("This is a book"); //Returns 2
10. int lastIndexOf(String str): returns the last occurance of str in the string.
Eg: String str = "This is a book";
int n = str.indexOf("is"); //Returns 5
Note: Both indexOf and lastIndexOf methods returns negative value, if str not found in the calling string. Counting starts from 0.
11. String replace(char oldchar, char newchar): returns a new string that is obtained by replacing all characters oldchar in the string with newchar.
12. String substr(int beginIndex): returns a new String consisting of all characters from beginIndex until the end of the string.
13. String substr(int beginIndex, int endIndex): returns a new string consisting of all characters from beginINdex until endIndex (exclusive).
14. String toLowerCase(): converts all characters into lower case.
15. String toUpperCase(): converts all characters into upper case.
16. String trim(): eliminates all leading and trailing spaces.
StringDemo.java
/**Output:
* A demo class to explain about String object
* @author Santhosh Reddy Mandadi
* @since 26-Feb-2012
* @version 1.0
*/
public class StringDemo
{
public static void main(String args[])
{
//Creating 3 strings using 3 different ways
String s1 = "This is Java";
String s2 = new String("I like it");
char arr[] = {'S','a','n','t','h','o','s','h'};
String s3 = new String(arr);
//Displaying strings
System.out.println("s1 = "+s1);
System.out.println("s2 = "+s2);
System.out.println("s3 = "+s3);
//Find no of chars in s1
System.out.println("Length of s1 = "+s1.length());
//Joining s1 and s2 strings
System.out.println("s2 joined with s1 = "+s1.concat(s2));
//Joining 3 strings using +
System.out.println(s1+" by "+s3);
//check if s1 starts with this
boolean x = s1.startsWith("This");
if(x)
{
System.out.println("s1 starts with This");
}
else
{
System.out.println("s1 doesn't start with This");
}
//Extracting substring from s2 and s3
String p = s2.substring(0, 6);
String q = s3.substring(0);
System.out.println(p+" "+q);
//Convert the case of s1
System.out.println("Upper case version of s1 = "+s1.toUpperCase());
System.out.println("Lower case version of s1 = "+s1.toLowerCase());
}
}
s1 = This is Java
s2 = I like it
s3 = Santhosh
Length of s1 = 12
s2 joined with s1 = This is JavaI like it
This is Java by Santhosh
s1 starts with This
I like Santhosh
Upper case version of s1 = THIS IS JAVA
Lower case version of s1 = this is java
Above program has been tested in 1.5 and 1.6.
Click here to check out other programs that I've developed.