2

私はこれを持っています

Integer[] picIDs = {             
  R.drawable.whatever
  ,
  R.drawable.example
};
String[] picDescs = {
  "test1"
  ,
  "test2"      
};    

もともと私はフィールド「id」と「desc」を含むデータ型の配列を作りたかったのですが、宣言でそのような配列を初期化することは不可能のようですか?(私はグーグルのハウツーをすることができませんでした。)それは本当にそうですか?

4

4 に答える 4

7

これはどう?

YourType[] arr = {new YourType(12,"abc"), new YourType(13, "xyz")};

ただし、int(id)とStringを引数として受け入れるYourtypeのコンストラクターがあることを確認してください。

public class YourType{
String s;
int id;
    public YourType(int id, String s){
    this.id = id; 
    this.s = s;
    }

}
于 2013-03-06T21:50:23.737 に答える
4

あなたはこのようなことをすることができます:

public class Item {
    public int id;
    public String desc;
    public Item(int id, String desc) {
        this.id = id;
        this.desc = desc;
    }
}

Item[] items = {
    new Item(1, "one"),
    new Item(2, "two")
    // etc.
};
于 2013-03-06T21:51:45.053 に答える
3

次のようなものを試してみましたか?

MyClass[] array={new MyClass(),new MyClass()};
于 2013-03-06T21:53:59.447 に答える
1
class DataType {  
    private Integer id;  
    private Stirng desc;  
    public DataType(Integer id, String desc) { this.id = id; this.desc = desc;}  
}  

DataType[] dt = {new DataType(id1, desc1), new DataType(id2, desc2) and so on};   

したがって、DataTypeなどのクラスを定義してから、DataType配列内のDataTypeの匿名インスタンスを初期化することができます。

于 2013-03-06T21:59:39.337 に答える