title: Can someone explain this recursive Java method that reverses a string?
body: <p>so I'm a junior in college trying to understand recursion. I understand the general concept but not how it's properly implemented. I found this extremely simple code and just can't seem to grasp how the last line (recursion) works. Any help and explanation would be awesome, thanks! (also finals coming up soon and boy am I nervous)</p>
  <pre><code>public static String reverse(String s) {
      if (s.isEmpty())
          return s;
      return reverse(s.substring(1)) + s.charAt(0);
  }
  </code></pre>