I still have to select the sub-expression whose value I wish to inspect. This involves precisely aiming the cursor at text, which is a lot of mental burden (x millions).
A task I thank the developer who creates a variable to hold such a reference, for it creates a much better experience.
The tools for Java are much better than those for C++. However, claiming the code is the problem is silly. I'm not going to introduce a bunch of local variables just to appease a debugger.
If splitting on separate lines makes code more readable, then sure, do that. But often it just makes the code longer and harder to follow.