Adding two big integers represented as strings
Loop structure's OK, logic's reasonably good. There is obviously a Java library alternative of BigInteger, but I assume you knew that. Some efficiency issues with excessive toString() and string-ification of what could be character operations.

Here are some tips:


Use int where nulls are not possible, not Integer.
carry is only used locally -- keep it local. Referencing it outside the method can only be erroneous, so it shouldn't be visibly exposed to make that possible..
Carry calculation from i3 is OK here, but could in related algorithms be brittle -- it can't handle a digit-sum > 19 as the maximum carry it can produce is 1.
If addition completes with a carry of 0, it will output an unnecessary 0 digit.
If Strings are your inputs, you should probably build a String as the result via a StringBuilder -- not an ArrayList.
myString should be called result or sb, if you're building the result in it.
Build using StringBuilder in reverse order, and do it by character calculation (char) (i3 + '0') rather than toString() if you want to maximize efficiency.
Return the result from your function, and do the printing in main() instead. there. That way you have a general-purpose add() function and a fixed-purpose main() method for testing.


Is that complete enough?