String is one of the most widely used Java Class. Here I am listing some important Java String Interview Questions and Answers. This will be very helpful to get complete knowledge of String and tackle any questions asked related to String in an interview. Show
Quizzes are fun, aren’t they! I recently published the Java String quiz of 21 questions. It has been taken by thousands of Java enthusiasts with an average score of 42.55%. You should take that and try to beat the average score and get your name into the leaderboard. Here is the link that opens in a new tab: Java String Quiz Java String Interview Questions
What is String in Java? String is a data type?String is a Class in java and defined in java.lang package. It’s not a primitive data type like int and long. String class represents character Strings. String is used in almost all the Java applications and there are some interesting facts we should know about String. String in immutable and final in Java and JVM uses String Pool to store all the String objects. Some other interesting things about String is the way we can instantiate a String object using double quotes and overloading of “+” operator for concatenation. What are different ways to create String Object?We can create String object using
When we create a String using double quotes,
JVM looks in the String pool to find if any other String is stored with the same value. If found, it just returns the reference to that String object else it creates a new String object with given value and stores it in the String pool. When we use the new operator, JVM creates the String object but don’t store it into the String Pool. We can use Write a method to check if input String is Palindrome?A String is said to be Palindrome if it’s value is same when reversed. For example “aba” is a Palindrome String. String class doesn’t provide any method to reverse the String but
Sometimes interviewer asks not to use any other class to check this, in that case, we can compare characters in the String from both ends to find out if it’s palindrome or not.
Write a method that will remove given character from the String?We can use
How can we make String upper case or lower case?We can use String class What is String subSequence method?Java 1.4 introduced CharSequence interface and String implements this interface, this is the only reason for the implementation of subSequence method in String class. Internally it invokes the String substring method. Check this post for String subSequence example. How to compare two Strings in java program?Java String implements How to convert String to char and vice versa?This is a tricky question because String is a sequence of characters, so we can’t convert it to a
single character. We can use use How to convert String to byte array and vice versa?We can use String Can we use String in switch case?This is a tricky question used to check your knowledge of current Java developments. Java 7 extended the capability of switch case to use Strings also, earlier Java versions don’t support this. If you are implementing conditional flow for Strings, you can use if-else conditions and you can use switch case if you are using Java 7 or higher versions. Check this post for Java Switch Case String example. Write a program to print all permutations of String?This is a tricky question and we need to use recursion to find all the permutations of a String, for example “AAB” permutations will be “AAB”, “ABA” and “BAA”. We also need to use Set to make sure there are no duplicate values. Check this post for complete program to find all permutations of String. Write a function to find out longest palindrome in a given string?A String can contain palindrome strings in it and to find longest palindrome in given String is a programming question. Check this post for complete program to find longest palindrome in a String. Difference between String, StringBuffer and StringBuilder?The string is immutable and final in Java, so whenever we do String manipulation, it creates a new String. String manipulations are resource consuming, so java provides two utility classes for String manipulations - StringBuffer and StringBuilder. StringBuffer and StringBuilder are mutable classes. StringBuffer operations are thread-safe and synchronized where StringBuilder operations are not thread-safe. So in a multi-threaded environment, we should use StringBuffer but in the single-threaded environment, we should use StringBuilder. StringBuilder performance is fast than StringBuffer because of no overhead of synchronization. Check this post for extensive details about String vs StringBuffer vs StringBuilder. Read this post for benchmarking of StringBuffer vs StringBuilder. Why String is immutable or final in JavaThere are several benefits of String because it’s immutable and final.
Check this post to get more details why String is immutable in java. How to Split String in java?We can use Why Char array is preferred over String for storing password?String is immutable in Java and stored in String pool. Once it’s created it stays in the pool until unless garbage collected, so even though we are done with password it’s available in memory for longer duration and there is no way to avoid it. It’s a security risk because anyone having access to memory dump can find the password as clear text. If we use a char array to store password, we can set it to blank once we are done with it. So we can control for how long it’s available in memory that avoids the security threat with String. How do you check if two Strings are equal in Java?There are two ways to check if two Strings are equal or not - using “==” operator or using
What is String Pool?As the name suggests, String Pool is a pool of Strings stored in Java heap memory. We know that String is a special class in Java and we can create String object using new operator as well as providing values in double quotes. Check this post for more details about String Pool. What does String intern() method do?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. This method always returns a String that has the same contents as this string but is guaranteed to be from a pool of unique strings. Does String is thread-safe in Java?Strings are immutable, so we can’t change it’s value in program. Hence it’s thread-safe and can be safely used in multi-threaded environment. Check this post for Thread Safety in Java. Why String is popular HashMap key in Java?Since String is immutable, its hashcode is cached at the time of creation and it doesn’t need to be calculated again. This makes it a great candidate for the key in a Map and it’s processing is fast than other HashMap key objects. This is why String is mostly used Object as HashMap keys. String Programming Questions
I hope that the questions listed here will help you in Java interviews, please let me know if I have missed anything. Further Reading
Which of these methods of class string is used to extract all the characters from a string object?charAt() is the method of class String is used to extract a single character from a String Object. Hence, option(c) is the correct answer.
Which method is used to extract a character from string?You can extract a substring from a string using the slice() method. You pass it: the index at which to start extracting.
Which method of class string is used to extract a substring from string?Java String substring() The Java String class substring() method returns a part of the string. We pass beginIndex and endIndex number position in the Java substring method where beginIndex is inclusive, and endIndex is exclusive. In other words, the beginIndex starts from 0, whereas the endIndex starts from 1.
Which of these method of class string is used to extract a single character from a string object O Chatat O charAt O Chatat ?#4) String charAt()
This method is used to retrieve a single character from a given String. The syntax is given as: char charAt(int i);
|