使用像@ konstantin-yovkovworks或@ergonaut這樣的無界列表或數組的答案。而且,這正是你所要求的。但是,當這樣做時,主叫方和被叫方之間的合同非常薄弱。這不可靠。被調用的方法在使用它之前需要檢查所有內容,因爲編譯器沒有明確定義使用約定。
一般來說,使用明確的合同要好得多。根據你的情況,應該是這樣的:
public final class Row {
public final String rank;
public final String name;
public final String sex;
public Row(final String rank, final String name, final String sex) {
this.rank = rank;
this.name = name;
this.sex = sex;
}
}
被調用API函數就可以了,例如:
public void calledMethod(Row ... rows);
或
public void calledMethod(Row[] rows);
而且,它可以像使用:
calledMethod(
new Row("First", "John", "Male"),
new Row("Second", "Michelle", "Female"),
,
,
);
This is far mo那些稍後需要閱讀你的代碼的人更加可靠和容易理解。
爲什麼不使用'List'? –