Typermittlung eines Generics

Wurzelseppi

Mitglied
Hallo zusammen,

also, ich komm gleich mal zum Punkt

Ich habe eine abstrakte Klasse A
Code:
public abstract class A<T extends B>

die eine Methode implementiert
Code:
public T getObject(C object)
{
   //und die soll mir ein Objekt T erzeugen, die Properties aus C reinkopieren 
   //(BeanUtils.copyProperties(.., object)
   // und es zurückgeben....
}

aber wie komm ich an den Typen T um es zu erzeugen ?

also T.class.getInstance() geht schonmal nicht :-))

die Idee
Code:
public T getObject(C object, Class<T> class)
{
   T newObject = class.newInstance();
   //und die soll mir ein Objekt T erzeugen, die Properties aus C reinkopieren 
   //(BeanUtils.copyProperties(.., object)
   // und es zurückgeben....
}

ist mir nicht schön genug :-)

Danke im voraus.

Gruß,

Wurzelseppi
 
Zuletzt bearbeitet:
Hallo,

schau mal hier:
Java:
/**
 * 
 */
package de.tutorials;

import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;

/**
 * @author Thomas.Darimont
 * 
 */
public class GenericTypeDetection {
    public static void main(String[] args) {
        System.out.println(new Foo<String>(){}.getType());
    }

    static abstract class Foo<T>{
        Type type;
        
        /**
         * @return the type
         */
        public Type getType() {
            return type;
        }

        /**
         * @param type the type to set
         */
        public void setType(Type type) {
            this.type = type;
        }

        public Foo(){
            this.type = ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0];
        }
    }
}

Ausgabe:
Code:
class java.lang.String

Gruß Tom
 
Zurück