<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Le 10/11/2009 08:07, Martin Buchholz a écrit :
<blockquote
 cite="mid:1ccfd1c10911092307h65c30c4n177831127a0256a4@mail.gmail.com"
 type="cite"><br>
  <br>
  <div class="gmail_quote">On Mon, Nov 9, 2009 at 21:54, Mark Reinhold <span
 dir="ltr"><<a moz-do-not-send="true" href="mailto:mr@sun.com">mr@sun.com</a>></span>
wrote:<br>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">>
Date: Mon, 09 Nov 2009 20:29:51 -0800<br>
> From: Martin Buchholz <<a moz-do-not-send="true"
 href="mailto:martinrb@google.com">martinrb@google.com</a>><br>
    <br>
> ...<br>
    <div class="im">><br>
> Since line.separator is the most popular system property,<br>
> and other system properties like<br>
> java.home have vague security implications<br>
> that would suggest they must be protected by<br>
> a security manager, we might consider just<br>
> making the one system property available.<br>
> Perhaps very simply<br>
><br>
> String System.lineSeparator()?<br>
    <br>
    </div>
This seems like a much better solution than adding a whole static inner<br>
class to java.lang.System.<br>
    <br>
Yet ... how much of a problem is this outside of the JDK itself and,<br>
more generally, for new code rather than old?<br>
    <br>
If there are n (for n <= 43) problematic uses in the JDK then we
could<br>
just fix those without defining any new public API.  For new code we<br>
should encourage people to use String.format("...%n...") rather than<br>
access the line.separator property explicitly.<font color="#888888"><br>
    </font></blockquote>
  <div><br>
Hacking on Formatter is how I got here.<br>
  <br>
String.format("%n")" is both at risk of throwing SecurityException<br>
(because Formatter does not use doPrivileged;<br>
my proposal here is a step to fixing that)<br>
and is rather slow.<br>
Too slow for performance-sensitive uses.<br>
  </div>
  <div><br>
Martin <br>
  </div>
  </div>
  <br>
</blockquote>
<br>
Yes, printf is awfully slow.<br>
I am in favor of something like that:<br>
<br>
public class System {<br>
  public String lineSeparator() {<br>
    return StandardProperties.LINE_SEPARATOR; <br>
  }<br>
}<br>
<br>
With StandardProperties private and LINE_SEPARATOR with a default
visibility.<br>
<br>
Rémi<br>
<br>
<br>
<br>
</body>
</html>