2

我在Java中有一个二维数组:

private static final string[][] namestr = { { John, Mark, David,
}, { Peter, Ken, Mary,
}, { Fisher, Alice, Chris,
}, { Tod, Jen, Joe, Morton
}};

如何在 Apex 中编写这个二维数组?

我仍然需要用 [4][3] 将它保存为二维数组,

谢谢

4

1 回答 1

6

你可以有一个列表列表。我认为正确的术语是“锯齿状数组”而不是“多维数组”。我的意思是由你来确保每个内部列表的大小相同。语言本身不会以任何方式强制执行此操作。但是,由于您的最后一行有 4 个项目而不是 3 个项目,因此看起来您可以接受。

http://www.salesforce.com/us/developer/docs/apexcode/Content/langCon_apex_collections_lists.htm

因为列表可以包含任何集合,所以它们可以相互嵌套并成为多维的。例如,您可以拥有一组整数列表的列表。列表中最多可以包含四级嵌套集合。

List<List<String>> names = new List<List<String>>{
    new List<String>{'John', 'Mark', 'David'},
    new List<String>{'Peter', 'Ken', 'Mary'},
    new List<String>{'Fisher', 'Alice', 'Chris'},
    new List<String>{'Tod', 'Jen', 'Joe', 'Morton'}
};

System.debug(names[1]);
System.debug(names[1][2]);

没有大小限制,适用堆空间限制等标准内容。如果您计划将它们传递给 Visualforce,则限制为 1000 个项目(如果您的页面readonly设置了属性,则为 10K)。

于 2013-05-30T17:16:15.310 回答