Adding constant for line.separator and friends

Mark Reinhold mr at
Tue Nov 10 05:54:30 UTC 2009

> Date: Mon, 09 Nov 2009 20:29:51 -0800
> From: Martin Buchholz <martinrb at>

> ...
> Since line.separator is the most popular system property,
> and other system properties like
> java.home have vague security implications
> that would suggest they must be protected by
> a security manager, we might consider just
> making the one system property available.
> Perhaps very simply
> String System.lineSeparator()?

This seems like a much better solution than adding a whole static inner
class to java.lang.System.

Yet ... how much of a problem is this outside of the JDK itself and,
more generally, for new code rather than old?

If there are n (for n <= 43) problematic uses in the JDK then we could
just fix those without defining any new public API.  For new code we
should encourage people to use String.format("...%n...") rather than
access the line.separator property explicitly.

- Mark

More information about the core-libs-dev mailing list