DEV Community

Cover image for Strings: Basic Methods in Java-Interview Essentials
Arshi Saxena
Arshi Saxena

Posted on

Strings: Basic Methods in Java-Interview Essentials

Strings are a fundamental part of almost every Java application. Whether you are building complex algorithms, working with user input, or performing text manipulation, knowing how to efficiently use Java’s String class methods is a must.

In this post, we’ll dive into some of the basic but essential string methods that every Java developer should know, especially for interviews.


1. equalsIgnoreCase(): Case-Insensitive Comparison

  • The equalsIgnoreCase() method allows you to compare two strings without considering their case.

  • It’s a handy method when you want to check for equality without worrying about uppercase or lowercase differences.

Example:

String string = "Hello";
System.out.println(string.equalsIgnoreCase("HeLLo")); // Result: true
Enter fullscreen mode Exit fullscreen mode

2. toLowerCase() and toUpperCase(): Case Conversion

Converting a string to all lowercase or uppercase is a common task, and Java provides built-in methods to do this.

Example:

String string = "Hello";
System.out.println(string.toLowerCase()); // Result: hello
System.out.println(string.toUpperCase()); // Result: HELLO
Enter fullscreen mode Exit fullscreen mode

3. startsWith() and endsWith(): Check String Boundaries

If you need to check if a string starts or ends with a particular sequence of characters, these methods are what you need.

They’re case-sensitive by default, so be mindful when using them.

Example:

String string = "Hello";
System.out.println(string.startsWith("h")); // Result: false
System.out.println(string.endsWith("lo")); // Result: true
Enter fullscreen mode Exit fullscreen mode

Common Interview Question

How do you check if a given string starts with a specific substring, ignoring the case?

This is a common interview question to test your understanding of string manipulation and case-insensitivity in Java.

The startsWith() method is case-sensitive by default, so to perform a case-insensitive check, you need to standardize both the string and the substring to the same case using toLowerCase() or toUpperCase().

Here’s how you can implement it:

String givenString = "Example";
String givenCharacterString = "e";
System.out.println(
    givenString.toLowerCase().startsWith(
        givenCharacterString.toLowerCase()
    )
); // Result: true
Enter fullscreen mode Exit fullscreen mode

Explanation:

  • startsWith(): This method checks if the string begins with the specified substring, but it is case-sensitive.

  • toLowerCase(): Converts both the original string and the substring to lowercase to perform a case-insensitive comparison.

By converting both strings to the same case, you can ensure that the method works even if the input string or substring contains mixed-case characters.


4. toCharArray(): Convert String to Character Array

If you need to work with individual characters, converting a string to a character array is easy with the toCharArray() method.

Example:

String string = "Hello";
System.out.println(
    Arrays.toString(string.toCharArray())
); // Result: [H, e, l, l, o]
Enter fullscreen mode Exit fullscreen mode

Explanation:

We used Arrays.toString() to print the character array in the format [H, e, l, l, o]. If we directly use System.out.println(string.toCharArray()), the output will display the array elements as a string Hello.

This is due to the fact that the println() method has an overloaded version for character arrays.

For more details on this behavior, refer to Polymorphism: Decoding Method Overloading in Java.


5. charAt(), indexOf(), and lastIndexOf(): Character Search

These methods help you find specific characters within a string.

  • charAt(): Returns the character at a given index in the string.

  • indexOf(): Finds the first occurrence of a specified character. Returns -1 if not present.

  • lastIndexOf(): Finds the last occurrence of a specified character. Returns -1 if not present.

Example:

String string = "Hello";
System.out.println(string.charAt(0)); // Result: H
System.out.println(string.indexOf('l')); // Result: 2
System.out.println(string.lastIndexOf('l')); // Result: 3
Enter fullscreen mode Exit fullscreen mode

6. contains(): Substring Presence Check

When you want to check if a string contains a particular substring, the contains() method comes to the rescue.

Example:

String string = "Hello";
System.out.println(string.contains("l")); // Result: true
Enter fullscreen mode Exit fullscreen mode

7. replace(): Replacing Characters or Substrings

The replace() method is used to replace characters or substrings with new values. It’s an essential method for text processing.

Example:

String string = "Hello";
System.out.println(string.replace('l', 'p')); // Result: Heppo
System.out.println(string.replace("pp", "ll")); // Result: Hello
Enter fullscreen mode Exit fullscreen mode

8. split(): Splitting Strings into Parts

The split() method divides a string into an array of substrings based on a delimiter. It’s useful for parsing text data.

Example:

String string2 = " Welcome to Strings ";
System.out.println(Arrays.toString(string2.split(" ")));
// Result: [, Welcome, to, Strings]
Enter fullscreen mode Exit fullscreen mode

9. compareTo(): Lexicographical Comparison

The compareTo() method compares two strings lexicographically. It returns a positive number if the string is greater, a negative number if it's smaller, or 0 if they’re equal.

Example:

String string = "Hello";
System.out.println(string.compareTo("Hllo")); // Result: -7
Enter fullscreen mode Exit fullscreen mode

10. isBlank() and isEmpty(): Check String State

  • isBlank(): Returns true if the string is empty or contains only whitespace.

  • isEmpty(): Returns true if the string has no characters at all.

Example:

String string1 = "    ";
System.out.println(string1.isBlank()); // Result: true
System.out.println(string1.isEmpty()); // Result: false
Enter fullscreen mode Exit fullscreen mode

11. matches(): Regular Expression Matching

The matches() method checks if the string matches the given regular expression. It’s a powerful tool for text pattern matching.

Example:

String string = "Hello";
System.out.println(string.matches("(.*)l(.*)")); // Result: true
Enter fullscreen mode Exit fullscreen mode

12. trim(): Removing Extra Whitespaces

The trim() method removes any leading and trailing spaces from a string, making it easier to work with user input or clean data.

Example:

String string2 = " Welcome to Strings ";
System.out.println(string2.trim()); // Result: Welcome to Strings
Enter fullscreen mode Exit fullscreen mode

Conclusion

Mastering these string methods is crucial for anyone working in Java, especially when preparing for interviews. Whether you're dealing with user input, processing text data, or manipulating strings for performance, these methods are your go-to tools. From handling case sensitivity to trimming whitespace, Java provides a rich set of utilities for string manipulation that every developer should be comfortable with.


Related Posts

Happy Coding!

Top comments (2)

Collapse
 
wpollock profile image
Wayne Pollock

Good article! One point to add, many of the methods shown only work on the BMP, which is a subset of Unicode. Usually that's good enough. When it isn't, you should use the ICU library's methods instead.

Collapse
 
arshisaxena26 profile image
Arshi Saxena

Thank you for pointing that out!
I appreciate you adding that helpful information to the content. 😊