they make things so much easier!
That actually depends. If you use it extensively with the loads of 'exceptions to rules' that it comes with, it can actually be a pain. I find the the following to be the most useful
Arraylist <bla> list = new ArrayList<bla>();
That helps reduce run time errors a touch, but I just dont feel compelled to use it for any other purpose.