Suppose I have strings:
String a = "hello"; 
String b = "h";
String c = "ello";
String d = b+c;
When I check for a==d it returns false. 
Please correct me if am wrong, the bytecode would contain string d value as hello right? I want to know why is it that during execution of the program,string d is not picked up from string pool as hello is already available in string pool and hence returning false as above when checked for equality.
 
     
     
     
    