簡體   English   中英

J2ME BlackBerry從數組類創建實例

[英]J2ME BlackBerry creating instance from array class

有沒有一種方法可以使用類似的方法從Class對象動態創建數組

MyClass[].newInstance();

我知道它引發了InstantiationException ,但是我有沒有辦法用Class對象實例化一個指示其類型的數組?

由於J2ME中不提供java.lang.reflect.Array.newInstance() ,因此我認為您需要一個循環才能對每個對象執行此操作:

private Object[] createArray(String fullClassName, int length) {
    Object[] objects = new Object[length];
    try {
        Class c = Class.forName(fullClassName);
        for (int i = 0; i < objects.length; i++) {
            objects[i] = c.newInstance();
        }
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    } catch (InstantiationException e) {
        e.printStackTrace();
    }
    return objects;
}

並記住要完全限定名稱(如果您使用的是字符串化的類名稱):

  Object[] array = createArray("mypackage.Widget", 10);

package mypackage;

public class Widget {
    public int foo() {
        return 5;
    }
}

請注意, BlackBerry Class中沒有getConstructor()方法 ,因此您只能使用無參數構造函數創建對象

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM