java class.forName(String)

时间:2018-10-04 17:34:04

标签: java class declaration

我不知道如何处理编译此程序后出现的错误。

public class Kolumna {

    private String nazwa;
    private String typ;
    public ArrayList<?> kolumna;

    public Kolumna(String _nazwa, String _typ) {
        nazwa = _nazwa;
        typ = _typ;
        Class class_def;
        try {
            class_def = Class.forName(typ);
            kolumna = new ArrayList<class_def>();
        } catch(ClassNotFoundException e) {
            System.out.println("Nie ma takiego typu!");
        }
    }
}

错误提示:

  

“ dataFrame / Kolumna.java:19:错误:找不到符号               kolumna = new ArrayList();“

我试图四处移动class_def声明,但没有帮助

2 个答案:

答案 0 :(得分:1)

泛型是编译时检查。您可以这样定义构造函数。

public final List kolumna = new ArrayList(); // nothing to check at compile time

public Kolumna(String _nazwa, String _typ) {
    nazwa = _nazwa;
    typ = _typ;
}

答案 1 :(得分:0)

那呢:

  class Kolumna {
       private String nazwa;
       private String typ;
       public ArrayList kolumna = new ArrayList();
       public Kolumna(String _nazwa, String _typ) {
            nazwa = _nazwa;
            typ = _typ;
            Class class_def;
            try {
               class_def = Class.forName(typ);
            } catch(ClassNotFoundException e) {
                System.out.println("Nie ma takiego typu!");
            }
       }
  }