Exchange capitalization
Java (JDK 10), 66 bytes



a-&gt;b-&gt;{for(int i=a.length,t;i--&gt;0;b[i]^=t)a[i]^=t=(a[i]^b[i])&amp;32;}


Try it online!

Explanations

a-&gt;b-&gt;{                           // Curried lambda
 for(int i=a.length,t;i--&gt;0;      //  Descending loop on i,
                                  //  Declare t
     b[i]^=t                      //   Apply the case difference to b[i]
   )
  a[i]^=t=(a[i]^b[i])&amp;32;         //   Assign the case difference of the two letters to t, and apply it to a[i].
}