Java String Interview Questions & Answers

4 avg. rating (80% score) - 5879 votes

Java String Interview Questions & Answers

Are you prepared in attending an interview? Then do not worry, we’ve a right answer for your job interview preparation. If you are preparing for Java String job interview and don’t know how to crack interview and what level or difficulty of questions to be asked in job interviews then go through Wisdomjobs Java String interview questions and answers page to crack your job interview. In java, string is basically an object that represents sequence of char values. Java String class provides a lot of methods to perform operations on string such as compare(), concat(), equals(), split(), length(), replace(), substring() etc. Below is the list of frequently asked Java String interview questions and answers which gets you ready to face the interviews:

Java String Interview Questions

Java String Interview Questions
    1. Question 1. What Is String In Java?

      Answer :

      In Java String class represents character strings which means; Strings in Java are objects and all strings are instances of the String class. Internally in String class Strings are stored as character array.

    2. Question 2. In How Many Ways String Object Can Be Created?

      Answer :

      Since strings are objects so strings can of course be created using new operator. String class has more than 10 constructors to create Strings which ranges from taking nothing as parameter to taking char array, StringBuffer, StringBuilder, another String as argument.

      Another and more preferred way to create Strings is to assign String literal directly to a String reference as you will do for any primitive type. For every string literal Java will automatically constructs a String object.

      As example - String str = “abc”; 

    3. Question 3. If String Can Be Created Using String Str = “test” Then String Is A Primitive Data Type.yes/no?

      Answer :

      No. For every string literal Java automatically constructs a String object.

    4. Question 4. What Is String Pool? Where Is It Created In Memory?

      Answer :

      When String literals are created they are stored in a String pool and that is a common pool; which means if there are two strings literals having the same content then those string will share the space in the pool.

      When String object is created by assigning a string literal, pool will be checked to verify if there is any existing object with the same content if there is then that existing reference is used, no new object is created in that case. If no object is found with the same content then this new literal will be added in the pool.

      String pool is stored in the heap.

    5. Question 5. What Is Immutable Object? Is String Object Immutable?

      Answer :

      An immutable object is an object that would not be able to change its state after creation. Thus immutable object can only be in one state and that state can not be changed after creation of the object.

      Yes String object is immutable. Once you create a String object the content of that string cannot be modified.

    6. Question 6. Why Is String Class Immutable?

      Answer :

      Since Java maintains a string pool where String references are shared thus changing content of any of the String will also affect the other strings sharing the same references that’s one reason why string is immutable.

    7. Question 7. Why Is String Class Final In Java?

      Answer :

      Since String is immutable, whenever you perform any operation on string which alters its content a new string object is created containing the modified string. Which means all the methods of the String class that modify the content in any way return a new String object with the modified content. 

      Now, What if you can override the method of the String class so that it modifies and return the original string reference itself? In that case all the other strings having the same data in the string pool will also get affected as the reference is shared for the String literals having the same content. 

      To avoid these kind of scenarios String class is declared as final and it can’t be overridden.

    8. Question 8. Which Operator Is Overloaded For String?

      Answer :

      ‘+’ operator is overloaded in Java for String. It is used for concatenating two strings.

    9. Question 9. How Many Objects Will Be Created If Two Strings Are Created This Way?

      String S1 = “test”; 
      String S2 =  “test”;

      Answer :

      Since s1 and s2 are string literals and having the same content object reference will be shared by them in the string pool. Therefore only one object is created.

    10. Question 10. How Many Object Will Be Created If Strings Are Created This Way?

      String S1 = “test”;
      String S2 = New String(“test”);
      String S3 = New String(“test”).intern();

      Answer :

      s1 will go to string pool, for s2 new object is created. S3, though created using new will still search in the string pool for any reference having the same content as intern() method is used. So two objects will be created.

    11. Question 11. What Is Intern() Method In String?

      Answer :

      Using intern() method you can still get string object from the pool (if it exists) even if new operator is used to create a string.

      When the intern method is invoked, if the pool already contains a string equal to this String object as determined by the equals(Object) method, then the string from the pool is returned. Otherwise, this String object is added to the pool and a reference to this String object is returned.

    12. Question 12. Is String Thread Safe In Java?

      Answer :

      Yes string is thread safe in Java as String is immutable.

    13. Question 13. What Is Stringbuffer In Java?

      Answer :

      StringBuffer class is the companion class of String. StringBuffer is a mutable(modifiable) sequence of characters which is in contrast to String class which is an immutable sequence of characters. Thus in case of StringBuffer length and content of the sequence can be changed through certain method calls. 

      Since StringBuffer is mutable a new String object is not created every time string is modified, which in turn results in less memory consumptions and not having lots of intermediate String object for garbage collection.

    14. Question 14. What Is Stringbuilder In Java?

      Answer :

      StringBuilder class (Added in Java 5),just like StringBuffer, is a mutable(modifiable) sequence of characters which is in contrast to String class which is an immutable sequence of characters. Thus in case of StringBuilder length and content of the sequence can be changed through certain method calls.

    15. Question 15. Differences Among String, Stringbuffer And Stringbuilder In Java?

      Answer :

      String is immutable where as both StringBuffer and StringBuilder are mutable.

      String and StringBuffer are thread safe where as StringBuilder is not thread safe.

    16. Question 16. Is Stringbuffer Class Also Immutable In Java?

      Answer :

      No, StringBuffer is not immutable.

    17. Question 17. Is Stringbuffer Class Also Final In Java?

      Answer :

      Yes, StringBuffer class is final in Java.

    18. Question 18. Is Stringbuffer Class Thread Safe?

      Answer :

      Yes StringBuffer class is thread safe. Methods in StringBuffer class are synchronized.

    19. Question 19. Is Stringbuilder Class Thread Safe?

      Answer :

      No StringBuilder class is not thread safe. That makes it faster than StringBuffer.

    20. Question 20. Is Stringbuilder Class Also Final In Java?

      Answer :

      Yes StringBuilder class is final in Java.

    21. Question 21. How To Compare Two Strings In Java?

      Answer :

      equals() method can be used for comparing two strings in Java. If you want to ignore case then you can use equalsIgnoreCase(String anotherString) method. 

      There are also compareTo() and compareToIgnoreCase() methods for comparing two strings lexicographically. Returns an integer indicating whether this string is greater than (result is > 0), equal to (result is = 0), or less than (result is < 0) the argument. 

      You can also use matches() method where you can pass a regular expression for matching strings.

    22. Question 22. What Will Happen If “==” Operator Is Used To Compare Two Strings In Java?

      Answer :

      “==” operator will compare the references of the strings not the content.

      String str1 = "abc";
      String str4 = new String("abc");

      Comparing these two strings using “==” operator

       if(str1 == str4)

      will return false as the references are different.

    23. Question 23. How To Get Characters And Substrings By Index With In A String?

      Answer :

      You can get the character at a particular index within a string by invoking the charAt() accessor method.

      String str = "Example String";
      char resChar = str.charAt(3);

      Will give char ‘m’. If you want to get more than one consecutive character from a string, you can use the substring method. The substring method has two versions -

      • String substring(int beginIndex, int endIndex) - Returns a new string that is a substring of this string.
      • String substring(int beginIndex) - Returns a new string that is a substring of this string.

    24. Question 24. How Can You Find Characters Or Substrings Within A String?

      Answer :

      To find characters or substrings with in a string indexOf() and lastIndexOf() methods can be used.

      You can also use contains() method 

      public boolean contains(CharSequence s) - Returns true if and only if this string contains the specified sequence of char values. Otherwise it returns false.

    25. Question 25. How Can You Split A String In Java?

      Answer :

      String provides a split method in order to split the string into one or more substring based on the given  regular expression.

      As example If you have a string where one (or more) spaces are used and you want to split it around those spaces.

      String str1 = "split example    program";
      String[] strArray = str1.split("\s+");

    26. Question 26. How Can You Join Strings In Java?

      Answer :

      With Java 8 join() method has been added in the String class which makes it very easy to join the multiple strings.

      join method has two overloaded versions -

      • public static String join(CharSequence delimiter, CharSequence... elements) - Returns a new String composed of copies of the CharSequence elements joined together with a copy of the specified delimiter.
      • public static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements) – Here elements is an Iterable that will have its elements joined together and delimiter is a sequence of characters that is used to separate each of the elements in the resulting String.

    27. Question 27. Can We Use String In Switch Case Statement?

      Answer :

      Yes from Java 7 string can be used in switch case statement.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd Protection Status

J2EE Tutorial