Generics, Datentyp ermitteln



  • Hallo,

    gibt es eine Möglichkeit rauszubekommen, für welchen Datentyp ein Vektor angelegt wird. Vor allem wenn er noch nicht gefüllt ist?
    Z.b.:
    Hier eine Methode, die mit aussagt, mit welchen Datentyp der Vektor gefüllt ist.

    pubic void test(Vector vec)
    {
      if(vec.firstElement() instanceof Short) 
      {
         System.out.println("Short");
      }
      if(vec.firstElement() instanceof Integer)
      {
         System.out.println("Integer");
      }
    }
    
    ...
    
    Vector<Integer> vecInt = new Vector<Integer>();
    vecInt.addElement(new Integer(333));
    test(vecInt);             // Ausgabe: Integer
    

    Gibt es eine Möglichkeit den Typ rauszubekommen, wenn der Vektor nicht gefüllt ist?

    Vector<Integer> vecInt = new Vector<Integer>();
    test(vecInt);            // erwartete Ausgabe: Integer
    

    Wenn nicht, wovon ich sehr stark ausgehe, gibt es einen andere Art von dynamischen Listen, bei denen man stets weiß, für welchem Datentyp sie angelegt wurden?

    Danke!!!



  • 1. Es gibt da keine Möglichkeit, weil diese Informationen zur Laufzeit nicht mehr existieren.

    2. Du könntest einen Wrapper um eine Liste herum schreiben, durch den du den Typ festlegst. Eine andere Möglichkeit fällt mir auch hier nicht ein.



  • Danke und Grüße
    dziuba


Anmelden zum Antworten