Please help look at the pictures the highlighted part. I know the first part is the reference but whats the other bit is confusing "(boo) b". can somebody please tell me whats going on there so confusing the more detail the better
That is old‑fashioned code because it doesn't use generics. What you have to do it assume that the Object parameter passed is in fact a Book, and then cast it to a Book object, not boo. What you are telling the javac tool is, “Don't worry; I know it will be a Book.”
You would write something different nowadays:-Now, there is no risk of passing the wrong type; the compiler will notice and not permit the wrong type.
Note that the title given here is a String and String already implements Comparable<String>, so you can implement that method quite simply by borrowing the String version.