•   Basic of Java
  •   OOPs Concepts String
  • Java String

    Java String Methods

    Java String

    In java, string is basically an object that represents sequence of char values. An array of characters works same as java string. For example:

    Flash Soon

    is same as:

    Flash Soon

    Java String class provides a lot of methods to perform operations on string such as compare(), concat(), equals(), split(), length(), replace(), compareTo(), intern(), substring() etc.

    The java.lang.String class implements Serializable, Comparable and CharSequence interfaces.

    CharSequence Interface

    The CharSequence interface is used to represent sequence of characters. It is implemented by String, StringBuffer and StringBuilder classes. It means, we can create string in java by using these 3 classes.

    The java String is immutable i.e. it cannot be changed. Whenever we change any string, a new instance is created. For mutable string, you can use StringBuffer and StringBuilder classes.

    We will discuss about immutable string later. Let's first understand what is string in java and how to create the string object.

    What is String in java

    Generally, string is a sequence of characters. But in java, string is an object that represents a sequence of characters. The java.lang.String class is used to create string object.

    How to create String object?

    There are two ways to create String object:

    1. By string literal
    2. By new keyword

    1) String Literal

    Java String literal is created by using double quotes. For Example:

    Flash Soon

    Each time you create a string literal, the JVM checks the string constant pool first. If the string already exists in the pool, a reference to the pooled instance is returned. If string doesn't exist in the pool, a new string instance is created and placed in the pool. For example:

    Flash Soon

    In the above example only one object will be created. Firstly JVM will not find any string object with the value "Welcome" in string constant pool, so it will create a new object. After that it will find the string with the value "Welcome" in the pool, it will not create new object but will return the reference to the same instance.

    Note: String objects are stored in a special memory area known as string constant pool.

    Why java uses concept of string literal?

    To make Java more memory efficient (because no new objects are created if it exists already in string constant pool).

    2) By new keyword

    Flash Soon

    In such case, JVM will create a new string object in normal(non pool) heap memory and the literal "Welcome" will be placed in the string constant pool. The variable s will refer to the object in heap(non pool).

    Java String Example

    Flash Soon


    Java String class methods

    The java.lang.String class provides many useful methods to perform operations on sequence of char values.

    No. Method Description
    1 char charAt(int index) returns char value for the particular index
    2 int length() returns string length
    3 static String format(String format, Object... args) returns formatted string
    4 static String format(Locale l, String format, Object... args) returns formatted string with given locale
    5 String substring(int beginIndex) returns substring for given begin index
    6 String substring(int beginIndex, int endIndex) returns substring for given begin index and end index
    7 boolean contains(CharSequence s) returns true or false after matching the sequence of char value
    8 static String join(CharSequence delimiter, CharSequence... elements) returns a joined string
    9 static String join(CharSequence delimiter, Iterable extends CharSequence> elements) returns a joined string
    10 boolean equals(Object another) checks the equality of string with object
    11 boolean isEmpty() checks if string is empty
    12 String concat(String str) concatinates specified string
    13 String replace(char old, char new) replaces all occurrences of specified char value
    14 String replace(CharSequence old, CharSequence new) replaces all occurrences of specified CharSequence
    15 static String equalsIgnoreCase(String another) compares another string. It doesn't check case.
    16 String[] split(String regex) returns splitted string matching regex
    17 String[] split(String regex, int limit) returns splitted string matching regex and limit
    18 String intern() returns interned string
    19 int indexOf(int ch) returns specified char value index
    20 int indexOf(int ch, int fromIndex) returns specified char value index starting with given index
    21 int indexOf(String substring) returns specified substring index
    22 int indexOf(String substring, int fromIndex) returns specified substring index starting with given index
    23 String toLowerCase() returns string in lowercase.
    24 String toLowerCase(Locale l) returns string in lowercase using specified locale.
    25 String toUpperCase() returns string in uppercase.
    26 String toUpperCase(Locale l) returns string in uppercase using specified locale.
    27 String trim() removes beginning and ending spaces of this string.
    28 static String valueOf(int value) converts given type into string. It is overloaded.

    Do You Know ?

    1. Why String objects are immutable?
    2. How to create an immutable class?
    3. What is string constant pool?
    4. What code is written by the compiler if you concat any string by + (string concatenation operator)?
    5. What is the difference between StringBuffer and StringBuilder class?

    What we will learn in String Handling ?

    1. Concept of String
    2. Immutable String
    3. String Comparison
    4. String Concatenation
    5. Concept of Substring
    6. String class methods and its usage
    7. StringBuffer class
    8. StringBuilder class
    9. Creating Immutable class
    10. toString() method
    11. StringTokenizer class

    Copyright 2017 Design& Development