Java does no such thing as "encourages 20,000 line behemoths filled with dross". Bad programmers do.
If you're creating several methods that only differ a little bit, you're doing something stupid. In any language.
Bad programmers create bad code. The language is totally irrelevant.