Q:

Is there any benefit in wrapping a `String` with a `new String (...)` before running its methods?

I saw a few old code snippets in a piece of software that no one remembers who wrote that instead of doing something like:  
String abc = SOME_CONSTANT.toLowerCase()

They do:  
String abc = new String(SOME_CONSTANT).toLowerCase()

I can't see any value in this - seems like plain old bad programming (e.g. not understanding that String is immutable). Anyone can see a good reason for this?
Note: SOME_CONSTANT is defined as - 
public static final String SOME_CONSTANT = "Some value";

A:

No, it just creates more objects (unless the compiler optimizes it away)

A:

I agree with you: it's bad programming

A:

No good reason. As you said, String is immutable, so calling toLowerCase() on it will always produce a new string anyway.

