well, it depends on what environment ur gonna use ur applications for. if ur interested in developing applications for various devices apart from PCs, J2ME is the best one for you.This is what Sun says:
"J2ME specifically addresses the vast consumer space, which covers the range of extremely tiny commodities such as smart
cards or a pager all the way up to the set-top box, an appliance almost as powerful as a computer."
....so, though they promise the much touted
java portability across a wide plethora of devices, they still have a long way to go, but then, i think they will achieve that in the near future.
regards,
esh