我很难理解这些代码行。
ArrayList<Member> results = null;
try {
results = MemberSQL.member();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Object[] header = { "name","lastname", "ID", "Phone", "Race", "Member",
"Divorced", "Married", "Single", "Location" };
Object[][] data = new Object[results.size()][9];
int i = 0;
for (Member member : results) {
data[i] = member.toObjectArray();
i++;
}
我不明白ArrayList正在做什么 - 或者它与MemberSQL.member()的设置相同。
我也不明白Object [] [] data = new Object [results.size()[9]会...而且,为什么即使我删除数字9仍然可以工作?
对于每个循环,我不知道如何解释它。我已经说过了:对于Member的每个对象,它都会将数据添加到位于Member中的toObjectArray。这是真的?我不知道:/
如果有人帮我解释每一行代码,最好是深入解释,我会永远感激不尽。 谢谢:)
答案 0 :(得分:1)
ArrayList<Member> results = null;
初始化Member
类型的数组 try {
results = MemberSQL.member();
MemberSQL.member是一个返回Member
类型的ArrayList的函数 } catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Object[] header = { "name","lastname", "ID", "Phone", "Race", "Member",
"Divorced", "Married", "Single", "Location" };
创建一个Objects数组,其中的字符串值显示在{}
之间 Object[][] data = new Object[results.size()][9];
创建一个二维对象数组。
int i = 0;
for (Member member : results) {
循环遍历结果数组中的每个项目。
data[i] = member.toObjectArray();
member.toObjectArray()是一个返回对象数组的函数。 data [i]设置为此值。
i++;
}
答案 1 :(得分:1)
我们从这段代码中不知道的一些事情。具体来说,我们不知道Member
是什么,我们也不知道MemberSQL
是什么。但是没关系,我们并不是真的需要解释这里发生的事情。
我不明白ArrayList正在做什么 - 或者它与MemberSQL.member()的设置相同。
好的,首先,ArrayList
正在执行ArrayList
总是做的事情 - 在方便的容器中保存一堆相同类型的数据,因此我们可以将其作为一个组。我们不知道MemberSQL.member()
做了什么,但我们可以推测它会构建一堆Member
个对象并将它们放入ArrayList
。当我们设置results = MemberSQL.member()
时,这意味着我们要运行MemberSQL.member()方法,并将其返回值保留为results
变量。
我也不理解Object [] [] data = new Object [results.size()[9]的确如此...而且,为什么即使我删除数字9仍然可以工作?< / p>
此行创建一个新的Object
s二维数组。您可以将其视为网格。网格具有与results
列表具有元素相同的行数,以及9列。在Java中,不指定数组的最后一个维度的大小是合法的,并且稍后会担心它。这就是为什么如果你把9分开的话,它仍然可以工作的原因。
对于每个循环,我不知道如何解释它。我已经说过了:对于Member的每个对象,它都会将数据添加到位于Member中的toObjectArray。这是真的吗?
实际上,你有这种倒退。它实际上正在查看member
并运行其toObjectArray()
方法。它将结果保存在data
数组中。