title: Difference between long.Class and Long.TYPE
body: <p>Do they both return the same thing i.e Long Class. Actually i was using this within PrivilegedAccessor to pass as following </p>
  
  <pre><code>PrivilegedAccessor.invokeMethod(MyClass,
                  "MyMethod", new Object[] { arg1, arg2 },
                  new Class[] { long.class, Date.class });
  </code></pre>
  
  <p>Alternatively I can use </p>
  
  <pre><code>PrivilegedAccessor.invokeMethod(MyClass,
                      "MyMethod", new Object[] { arg1, arg2 },
                      new Class[] { Long.TYPE, Date.class });
  </code></pre>
  
  <p>Which is better to be used keeping in mind autoboxing / unboxing overheads.</p>
  
  <p>** I am passing primitive long from the Test and even the tested method expects primitive long only.</p>