tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Thomas Darimont
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
280
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    JohnathanBernstein JohnathanBernstein ist offline Mitglied Bronze
    Registriert seit
    Aug 2007
    Beiträge
    31
    hallo,

    Ich habe eine Static Methode geschrieben die Object [] Array empfängt(Point) und bearbeitet und dann ein Object [] Array zurück gibt. Das Problem ist es sollte eingentlich ein Point Array zurückgeben. Um genauer zu sein sollte die Methode genau die Art von Array zurückgeben die es empfangen hat. Flexibil also.

    Wie mach ich das?
     

  2. #2
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.885
    Blog-Einträge
    29
    Hallo,

    schau mal hier:
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    
    /**
     * 
     */
    package de.tutorials;
     
    import java.lang.reflect.Array;
    import java.util.Arrays;
     
    /**
     * @author Thomas.Darimont
     *
     */
    public class ReturnArrayOfSameTypeExample {
     
        /**
         * @param args
         */
        public static void main(String[] args) {
            String[] strings = {"a","b","c"};
            
            String[] someStrings = op(strings);
            
            System.out.println(Arrays.toString(strings));
            System.out.println(Arrays.toString(someStrings));
            
        }
     
        @SuppressWarnings("unchecked")
        private static<TTargetType> TTargetType[] op(TTargetType[] arg) {
            if(null != arg){
                if(arg.getClass().isArray()){
                    TTargetType[] newArray = (TTargetType[])Array.newInstance(arg.getClass().getComponentType(),arg.length);
                    
                    for(int i = 0; i <newArray.length;i++){
                        newArray[i] = create((Class<TTargetType>)arg.getClass().getComponentType());
                    }
                    
                    return newArray;
                }
            }
            return null;
        }
     
        private static <TTargetType> TTargetType create(Class<TTargetType> clazz) {
            try {
                return clazz.newInstance();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    }

    Gruß Tom
    JohnathanBernstein bedankt sich. 
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  3. #3
    JohnathanBernstein JohnathanBernstein ist offline Mitglied Bronze
    Registriert seit
    Aug 2007
    Beiträge
    31
    Wow, Dauert wohl noch etwas bis ich das durch hab.

    Aber Danke!
     

Ähnliche Themen

  1. Sender casten ?
    Von w_digger im Forum .NET Windows Forms
    Antworten: 10
    Letzter Beitrag: 11.07.08, 12:59
  2. Casten von Generics
    Von dr-oetker im Forum Java
    Antworten: 2
    Letzter Beitrag: 13.04.07, 09:37
  3. Casten in PHP
    Von baccula im Forum PHP
    Antworten: 0
    Letzter Beitrag: 12.02.06, 14:15
  4. Typkonvertierung und Casten?
    Von Math55 im Forum Java
    Antworten: 1
    Letzter Beitrag: 26.07.05, 11:19
  5. Dynamisches Casten
    Von Meldur im Forum .NET Archiv
    Antworten: 3
    Letzter Beitrag: 04.07.05, 13:14