我有一個類PictureArrayAdapter
擴展ArrayAdapter<Pair<String, ImageInitialiser>>
並具有以下構造的數組:調用帶有參數的函數是parametrised對象
public PictureArrayAdaptor(Context context, Pair<String, ImageInitialiser>[] values)
我們已經明確宣佈,在該構造函數被調用,程序員必須通過Pair<String, ImageInitialiser>[]
,否則可能會發生類型錯誤。現在,沒有警告地生產這樣的物體是相當困難的:
@SuppressWarnings("unchecked")
Pair<String, ImageInitialiser> tableData[] = new Pair[1];
tableData[0]=new Pair<String, ImageInitialiser>("A", new ResourceImageInitialiser(R.drawable.sample1));
一種可能性是使用列表來代替。但是,爲了保持一致性,我想讓所有構造函數與完全相同。有沒有更好的方法來調用這個構造函數?我真的不認爲這就是它應該被稱爲的方式。
正在使用'public PictureArrayAdaptor(Context context,Pair ... ... values)'一個選項嗎? –
dasblinkenlight
2012-08-15 01:38:47
@dasblinkenlight:謝謝。這是一個有趣的想法,但如果我想保持構造函數與基類相同 – Casebash 2012-08-15 01:40:24
我無法確定傳遞數組代替可變參數列表:'...'是「語法糖」在一個簡單的數組之上。 – dasblinkenlight 2012-08-15 01:43:39