Im trying to find if the first two letters of a string are "hi". If it does it shold return true, and if not it should return false. I used substring to find the values of the given string, but when the condition comes up true it isn't returning true. I must not be understanding something about Java, which Im new to.
Here is my code:
class Main {
    public boolean startHi(String str) {
        String str1 = str.substring(0,1);
        String str2 = str.substring(1,2);
        if(str1=="h" && str2=="i"){
            return true;
        }
        if(str!="hi" || str.length()<=2){
            return false;
        }
        else{
            return false;
        }
    }
    public static void main(String[] args) {
        System.out.println(new Main().startHi("hi ho"));
        System.out.println(new Main().startHi("hi"));
        System.out.println(new Main().startHi("howhi"));
    }
}
The string starts with "hi" and it sees that, but it returns false.
 
     
     
    