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.
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
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
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
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
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.
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(string.equalsIgnoreCase("HeLLo")); // Result: true
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.
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.toLowerCase()); // Result: hello System.out.println(string.toUpperCase()); // Result: HELLO
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.startsWith("h")); // Result: false System.out.println(string.endsWith("lo")); // Result: true
The replace() method is used to replace characters or substrings with new values. It’s an essential method for text processing.
Example:
String givenString = "Example"; String givenCharacterString = "e"; System.out.println( givenString.toLowerCase().startsWith( givenCharacterString.toLowerCase() ) ); // Result: true
The split() method divides a string into an array of substrings based on a delimiter. It’s useful for parsing text data.
Example:
String string = "Hello"; System.out.println( Arrays.toString(string.toCharArray()) ); // Result: [H, e, l, l, o]
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.charAt(0)); // Result: H System.out.println(string.indexOf('l')); // Result: 2 System.out.println(string.lastIndexOf('l')); // Result: 3
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 string = "Hello"; System.out.println(string.contains("l")); // Result: true
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.equalsIgnoreCase("HeLLo")); // Result: true
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 string = "Hello"; System.out.println(string.toLowerCase()); // Result: hello System.out.println(string.toUpperCase()); // Result: HELLO
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.
Happy Coding!
The above is the detailed content of Strings: Basic Methods in Java-Interview Essentials. For more information, please follow other related articles on the PHP Chinese website!