As I am learner of Java.. I came across the following code
public static void main(String[] args) {
  ArrayList<String> a = new ArrayList<>();
  a.add("1");
  a.add("2");
  for(String str: a){
  a = new ArrayList<>();
  System.out.println(str);
  }
 }
I guessed the answer to be
1 null (since the reference is now pointing another object)
but the answer is
1 2
I am unable understand the behavior of enhanced for loop here.
 
     
     
    