This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Not sure what you mean. That statement is calling the compareTo method of String, since title is a String reference. All classes that implement the Comparable interface have a compareTo method.
To answer your secondary question, yes, recursive method calls are fine in Java. This includes infinite recursive loops, which the compiler will accept but will cause the JVM to eventually throw a StackOverflowError.
the invokation indicated is not recursive. It calls a method of a differnt class. To be truely recursive it has to call itself. You can for example calculate the faculty n! of a number by using a recursive method.