title: Constructor.newInstance with Object[] argument
body: <p>I have been programming java a long time and for some reason I am unable to figure out why this gives me an argument type mismatch.  I created a very simple JUnit test anyone can run.  Just copy and paste the code below.  Any help would be much appreciated.  Thanks!</p>
  
  <pre><code>    import java.lang.reflect.Constructor;
      import java.lang.reflect.InvocationTargetException;
  
      import org.junit.Test;
  
  
  
      public class TestObjectArrayConstructor {
          @Test
          public void testLabelValueObjectArrayConstructor(){
              Constructor constructor = null;
              try {
                  constructor = LabelValue.class.getConstructor(
                          new Class[]{Object[].class});
              } catch (NoSuchMethodException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              } catch (SecurityException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
  
              Object[] array = new Object[]{"Doll"};
              Object labelValue = null;
              try {
                  labelValue = constructor.newInstance(array);
              } catch (InstantiationException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              } catch (IllegalAccessException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              } catch (IllegalArgumentException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              } catch (InvocationTargetException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
              System.out.println("don");
          }
      }
  
  
  
  public class LabelValue {
      private String label;
      private String value;
  
      public LabelValue(){
  
      }
  
      public LabelValue(Object[] array)
      {
          if(array != null &amp;&amp; array.length &gt; 0)
          {
              this.label = (String)array[0];
              this.value = (String)array[0];
          }
      }
  
  
      public String getLabel() {
          return label;
      }
      public void setLabel(String label) {
          this.label = label;
      }
      public String getValue() {
          return value;
      }
      public void setValue(String value) {
          this.value = value;
      }
  }
  </code></pre>