PhoneBookEntry[] copiedBook = Array.copyOf(book, book.length);
Well, you must look into ArrayList in detail. There is difference between arrays and arraylist.
You are trying to actually copy two...