I have some questions about string comparison.I couln't find any answers concerning replace and substring methods in particular.So here is the code
public static void main(String args[]) {
    if ("hello".substring(0) == "hello")
        System.out.println("statement 1 is true");
    if ("hello".substring(1) == "ello")
        System.out.println("statement 2 is true");
    if ("hello".replace('l', 'l') == "hello")
        System.out.println("statement 3 is true");
    if ("hello".replace('h', 'H') == "Hello")
        System.out.println("statement 4 is true");
    if ("hello".replace('h', 'H') == "hello".replace('h', 'H'))
        System.out.println("statement 5 is true");
}
The output is:
statement 1 is true
statement 3 is true
Does the substring method create a new String().If so why is statement one true,yet 2 is not?Same question goes about statement 3 and 4.Thank you.
 
     
     
     
     
    