Read up on some of Paul Graham's comments on java. I code java (he doesn't) and I for the most part agree with his quickie assessment. It's a good read:
in reply to Is it me, or is it the job?
Java is a language that sucks the life and soul out of you (queue rebuttal from sporty), a language to keep mediocre programmers from doing something dangerous (they bury, omit, or obfuscate powerful features and make what-should-be-the cool-things difficult -- RMI and JNI for instance), and quality programmers from doing something revolutionary. It's a business app language, basically, far from the academic, whiz-bang, or workhorse languages that we love for practical development. Java, essentially, is Cobolish.
Plus you, like I, probably have a job where you can't express creativity ... Java isn't designed by that. You use what Sun gives you, in a nice constrained space. Like VB. I think Perl programmers are drawn to Perl because of the power and fun it provides, and it's hard to find this in other languages. So I post on a Perl forum while I mostly code java. And I need to get out of cube farm ville, I hate it, but at least it payed for my $3000 mountain bike :)
Java is a fad. We only have to wait. Maybe more functional/creative languages will take over.