如何给方法数组类型返回一个方法param,它只等待一个Array元素

时间:2012-06-16 06:37:55

标签: java methods parameters annotations field

我有一点问题,我有两种方法,我必须以这种方式实现,因为它们来自一个接口。我不知道如何将getAdattagok()方法的返回值添加到getOszlopAnnotacio()方法的参数中。

getOszlopAnnotacio()方法参数是Field,但getAdattagok()方法返回Field[]数组。

我想得到一个类的字段的注释,但我不知道......我写了getFieldsToField()方法,但我认为这不是我问题的最佳解决方案。

这是我的代码......

public Field[] getAdattagok(String entityOsztNev) throws ClassNotFoundException {
    // Get field of the class
    Class<?> c;
    c = Class.forName("entities."+entityOsztNev); // entityOsztNev = entity class name
    Field[] field = c.getDeclaredFields();
//        for(Field f: field)
//            System.out.println(f);

return field;   
}

// It's not implement by interface
public void getFieldsToField(Field[] field){
    for(Field f : field)
    //    System.out.println(getOszlopAnnotacio(f));
        getOszlopAnnotacio(f);
    // Maybe
    // public Oszlop getFieldstoField(Field[] field){
    //      Oszlop oszlop = null;
    //      for(Field f: field)
    //          oszlop=getOszlopAnnotacio(f);
    //      return oszlop;
}

@Override
public Oszlop getOszlopAnnotacio(Field f) {
    // Get annotations of the Oszlop Annotation class
    Annotation[] annot = f.getDeclaredAnnotations();
    Oszlop oszlop = f.getAnnotation(Oszlop.class); // Oszlop = Column
    return oszlop;
}

这是我的main代码......

public static void main(String[] args) throws ClassNotFoundException {
    OlimpiaUtils o = new OlimpiaUtils();
    //o.getFieldsToField(o.getAdattagok("Eredmeny"));
// It's wrong, because the void method type isn't able to...
        System.out.println(o.getFieldsToField(o.getAdattagok("Eredmeny")); 
}

0 个答案:

没有答案