String class function

The following methods are some of the most commonly used methods of String class.

charAt()

charAt() function returns the character located at the specified index.

String str = "studytonight";
System.out.println(str.charAt(2));

Output: u

NOTE: Index of a String starts from 0, hence str.charAt(2) means third character of the String str.


equalsIgnoreCase()

equalsIgnoreCase() determines the equality of two Strings, ignoring thier case (upper or lower case doesn't matters with this fuction ).

String str = "java";
System.out.println(str.equalsIgnoreCase("JAVA"));

true


indexOf()

indexOf() function returns the index of first occurrence of a substring or a character. indexOf() method has four forms:

  • int indexOf(String str): It returns the index within this string of the first occurrence of the specified substring.
  • int indexOf(int ch, int fromIndex): It returns the index within this string of the first occurrence of the specified character, starting the search at the specified index.
  • int indexOf(int ch): It returns the index within this string of the first occurrence of the specified character.
  • int indexOf(String str, int fromIndex): It returns the index within this string of the first occurrence of the specified substring, starting at the specified index.

Example:

public class StudyTonight {
    public static void main(String[] args) {
        String str="StudyTonight";
        System.out.println(str.indexOf('u'));   //3rd form
        System.out.println(str.indexOf('t', 3));    //2nd form
        String subString="Ton";
        System.out.println(str.indexOf(subString)); //1st form
        System.out.println(str.indexOf(subString,7));   //4th form
    }
}

2 11 5 -1

NOTE: -1 indicates that the substring/Character is not found in the given String.


length()

length() function returns the number of characters in a String.

String str = "Count me";
System.out.println(str.length());

8


replace()

replace() method replaces occurances of character with a specified new character.

String str = "Change me";
System.out.println(str.replace('m','M'));

Change Me


substring()

substring() method returns a part of the string. substring() method has two forms,

public String substring(int begin);

public String substring(int begin, int end);
/*
    character of begin index is inclusive and character of end index is exclusive.
*/

The first argument represents the starting point of the subtring. If the substring() method is called with only one argument, the subtring returned, will contain characters from specified starting point to the end of original string.

But, if the call to substring() method has two arguments, the second argument specify the end point of substring.

String str = "0123456789";
System.out.println(str.substring(4));

456789

System.out.println(str.substring(4,7));

456


toLowerCase()

toLowerCase() method returns string with all uppercase characters converted to lowercase.

String str = "ABCDEF";
System.out.println(str.toLowerCase());

abcdef


toUpperCase()

This method returns string with all lowercase character changed to uppercase.

String str = "abcdef";
System.out.println(str.toUpperCase());

ABCDEF


valueOf()

Overloaded version of valueOf() method is present in String class for all primitive data types and for type Object.

NOTE: valueOf() function is used to convert primitive data types into Strings.

public class Example{
    public static void main(String args[]){
        int num = 35;
        String s1 = String.valueOf(num);    //converting int to String
        System.out.println(s1+"IAmAString");
    }
}

35IAmAString

But for objects, valueOf() method calls toString() function.


toString()

toString() method returns the string representation of the object used to invoke this method. toString() is used to represent any Java Object into a meaningful string representation. It is declared in the Object class, hence can be overrided by any java class. (Object class is super class of all java classes.)

public class Car {
    public static void main(String args[])
    {
        Car c = new Car();
        System.out.println(c);
    }
    public String toString()
    {
        return "This is my car object";
    }
}

This is my car object

Whenever we will try to print any object of class Car, its toString() function will be called. toString() can also be used with normal string objects.

String str = "Hello World";
System.out.println(str.toString());

Hello World


NOTE: If we don't override the toString() method and directly print the object, then it would print the object id.

Example:

public class Car {
    public static void main(String args[])
    {
        Car c = new Car();
        System.out.println(c);
    }
}

studytonight.Car@15db9742 (here studytonight is a user-defined package).


toString() with Concatenation

Whenever we concatenate any other primitive data type, or object of other classes with a String object, toString() function or valueOf() function is called automatically to change the other object or primitive type into string, for successful concatenation.

int age = 10;
String str = "He is" + age + "years old.";

In above case 10 will be automatically converted into string for concatenation using valueOf() function.


trim()

This method returns a string from which any leading and trailing whitespaces has been removed.

String str = "   hello  ";
System.out.println(str.trim());

hello

NOTE: If the whitespaces are between the string, for example: String s1 = "study tonight"; then System.out.println(s1.trim()); will output "study tonight".

trim() method removes only the leading and trailing whitespaces.