title: Method Generics Without Arguments
body: <p>Let's say I have a method like this:</p>
  
  <pre><code>static class Example 
  {
      public static &lt;N extends Number&gt; Number getOddBits(N type)
      {
          if (type instanceof Byte) return (byte)0xAA;
          else if (type instanceof Short) return (short)0xAAAA;
          else if (type instanceof Integer) return 0xAAAAAAAA;
          else if (type instanceof Float) return Float.intBitsToFloat(0xAAAAAAAA);
          else if (type instanceof Long) return 0xAAAAAAAAAAAAAAAAL;
          else if (type instanceof Double) return Double.longBitsToDouble(0xAAAAAAAAAAAAAAAAL);
          throw new IllegalArgumentException();
      }
  }
  </code></pre>
  
  <p>The actual specifics of the method isn't really important. However, to call this method we use:</p>
  
  <pre><code>Example.&lt;Float&gt;getOddBits(0f);
  </code></pre>
  
  <p>My question is, is it possible to write such a method <strong>without</strong> conventional parameters. Without overloading, and ultimately without Boxing.</p>
  
  <p>Ideally invoked by:</p>
  
  <pre><code>Example.&lt;Byte&gt;getOddBits();
  </code></pre>