Array nach Array casten?



  • Hallo,
    wie kann ich den ein Object[], in dem Document-Objekte stecken, in ein Document[] casten?

    Umständlich geht es so:

    Object[] oa = ...;
    List oaList = Arrays.asList(oa);
    Document[] da = (Document[])oaList.toArray(new Document[oaList.size()]);
    

    Mache ich einen direkten typecast (Document[] da = (Document[])oa), gibt es Exceptions zur Laufzeit. Die umständliche Methode hingegen funktioniert.

    Wie geht es eleganter?

    Vielen Dank



  • Wenn du ein Object-Array hast, ist es ein Object-Array und kein Document-Array, daran laesst sich nichts aendern.

    Aber schneller sollte es so gehen:

    Object[] obis = ...
    int length = obis.length;
    Document[] docus = new Document[length];
    System.arraycopy( obis, 0, docus, 0, length );
    

Anmelden zum Antworten