As Strings are immutable in Java- When you are trying to change the String- It actually creates a new one. And though your method reverse returns a String you are not assigning that to the variable 's'.
My links are always informative . . . but I don't remember posting a link in this discussion
I saw that you were the last to edit my first post. It has a new hyperlink. The String "string" is a hyperlink which leads to a previously posted question about String,Stringbuffer and Stringbuilder(I love this sentence). Your reply to that question was very informative.