Although using the Java language provides a substantial boost to a programmer's productivity, it still bas its share of subtleties and weaknesses. This book is designed to save you time and frustration by carefully guiding you through this potential minefield. A team of Java experts, led by programming guru Michael Daconta, offers a collection of proven solutions to 50 difficult, real-world problems chosen from their own extensive experiences. You'll find workarounds for problems caused by shortcomings in both the Java language itself and in its APIs and utilities, including Java*util, Java*io, Java*awt, and javax*swing. The authors also share techniques for improving the performance of your Java applications. For easy reference, the book is organized into categories so that similar solutions are grouped together. Examples of topics covered include language syntax, for example, using the String equal () method instead of the "==" operator (Item 2). Language support, for example, method dispatching with reflection, interfaces, and anonymous classes (Item 16). Utilities and collections, like choosing between a PropertyFile and ResourceBundle (Item 20). Input/output, including subtleties in sending serialized objects over a network (Item 25). GUI presentation, for example, tackling the common pitfall of using repaint() instead of validate() for relaying out components (Item 29). GUI control, for example, better data validation (Item 36). Performance, including tips like lazy loading your way to better performance (Item 43).