I have some specific task. We have String like "(()[]<>)" or something familiar with this. A question in my interview qustion was how check either String is correct or incorrect. For example: "()[]<>" - true, "([)" - false, "[(])" - false, "([<>])" - true. Thank you guys very much! I can' t take what's wrong with my code. Thank a lot guys!!! Please help!
import java.util.Stack;
public class Test {
public static void main(String[] args) {
    String line = "(<>()[])";
    Test test = new Test();
    boolean res = test.stringChecker(line);
    System.out.println(res);
}
public boolean stringChecker(String line){
    boolean result = false;
    char letter = '\u0000';
    char[] arr = line.toCharArray();
    Stack<Character> stack = new Stack();
    for (int i = 0; i < arr.length; i++) {
        if (arr[i] == '(' || arr[i] == '[' || arr[i] == '<') {
            stack.push(arr[i]);
        }
        if(arr[i] == ')' || arr[i] == ']' || arr[i] == '>'){
                if(stack.peek() == arr[i]){
                    result = true;
                    stack.pop();
            }
        }
    }
    return result;
}
}