<!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">
    Am 02.09.2010 21:07, schrieb Neal Gafter:
    <blockquote
      cite="mid:AANLkTikrY+NHR2v8f_jWQwkVdy=7CpgA=gnDHjg7VZTz@mail.gmail.com"
      type="cite">
      <div class="gmail_quote">On Wed, Sep 1, 2010 at 6:54 PM, John Rose
        <span dir="ltr">&lt;<a moz-do-not-send="true"
            href="mailto:john.r.rose@oracle.com">john.r.rose@oracle.com</a>&gt;</span>
        wrote:<br>
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">
          <div class="im"><br>
          </div>
        </blockquote>
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">(Yes, I agree the spec. is gray here.
          &nbsp;There is an umbrella proposal to bring clarity to it,
          mentioned in the final paragraph of my bug report.)<br>
        </blockquote>
        <div><br>
          It isn't gray.&nbsp; Combined conversions are not intended to be
          allowed.<br>
          <br>
        </div>
      </div>
    </blockquote>
    <br>
    Does that mean, that following code is not allowed (see: <a
      moz-do-not-send="true"
      href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6775385">Bug
ID:
      6775385 NPE caused by ConditionalExpression and auto-boxing
      failure</a>):<br>
    <pre>                Map&lt;Character,Byte&gt; c2bExistents = new HashMap();
                char c = '\u20ac';
                char directEnd = '\u0080';
                Byte exsistent = c &lt; directEnd ? (Byte)(byte)(c) : c2bExistents.get(c);
</pre>
    Workaround looks pretty ugly:<br>
    <pre>                Map&lt;Character,Byte&gt; c2bExistents = new HashMap();
                char c = '\u20ac';
                char directEnd = '\u0080';
                Byte exsistent;
                if (c &lt; directEnd)
                    exsistent = (byte)(c);
                else
                    exsistent = c2bExistents.get(c);
</pre>
  </body>
</html>