Determine if a String is an Integer in Java

To determine if a string is an integer in Java, you can use the isDigit() method of the Character class to check if each character in the string is a digit. Here's an example:

public static boolean isInteger(String s) {
    for (int i = 0; i < s.length(); i++) {
        if (!Character.isDigit(s.charAt(i))) {
            return false;
        }
    }
    return true;
}

This method iterates through each character in the string and checks if it is a digit using the isDigit() method. If any character is not a digit, the method returns false. If all characters are digits, the method returns true.

You can also use the parseInt() method of the Integer class to check if a string can be parsed as an integer. This method throws a NumberFormatException if the string is not a valid integer, so you can use it in a try-catch block like this:

public static boolean isInteger(String s) {
    try {
        Integer.parseInt(s);
        return true;
    } catch (NumberFormatException e) {
        return false;
    }
}

This method will return true if the string can be parsed as an integer, and false if it cannot.

Note that these methods will only work for integers in the range of Integer.MIN_VALUE to Integer.MAX_VALUE. If you want to check if a string is a valid integer outside this range, you can use a regular expression to check the string's format. Here's an example:

public static boolean isInteger(String s) {
    return s.matches("^-?\\d+$");
}

This regular expression will match any string that consists of an optional negative sign followed by one or more digits.