Java创建多个对象
我创建了一个类来定义名为Java创建多个对象,java,loops,object,vector,while-loop,Java,Loops,Object,Vector,While Loop,我创建了一个类来定义名为Data的对象,它以字符串形式存储行号、变量值和变量名。 我想用从txt文件中获取并存储在字符串变量行中的信息填充数据对象,我正在使用下面的while循环填充我的数据对象: while(line !=null){ input.setLN(line); line = inputBuffer.readLine(); input.setVN(line); line = inputBu
Data
的对象,它以字符串形式存储行号、变量值和变量名。
我想用从txt文件中获取并存储在字符串变量行
中的信息填充数据对象,我正在使用下面的while循环填充我的数据对象:
while(line !=null){
input.setLN(line);
line = inputBuffer.readLine();
input.setVN(line);
line = inputBuffer.readLine();
input.setVV(line);
line = inputBuffer.readLine();
counter ++;
但是,我想将每个单独的数据
对象添加到向量
(必须使用向量
)中,以便存储每个LN、VN、VV,并能够从向量中输出它们
我使用以下代码声明了数据对象的向量:
Vector<Data> myVector=new Vector<Data>();
我知道我需要在循环每次迭代后创建一个输入
的副本,并在将新值引入输入
之前将该副本存储到向量
,但我不确定如何最好地做到这一点
有什么建议吗
我知道我需要在每次循环迭代后创建一个输入副本,并在将新值输入之前将该副本存储到向量中,但我不确定如何最好地做到这一点
那么:
while(line !=null) {
Data input = new Data();
input.setLN(line);
line = inputBuffer.readLine();
input.setVN(line);
line = inputBuffer.readLine();
input.setVV(line);
line = inputBuffer.readLine();
counter ++;
...
myVector.add(input);
}
变量范围在这里很重要。如果在“while”循环之前声明了“input”,那么只会创建一个实例,因此对它所做的每一个更改都会反映在向量的内容中。Eran的答案是好的,因为中的“数据”对象是在循环内部创建的,因此每次迭代都将创建一个新实例。然后如何/在何处将这些数据对象添加到向量中?介于“数据输入=新数据();”之间的任何位置你的循环结束时会很好,那么我该如何/在哪里将这些数据对象添加到我的向量中?@Andisvenson你会在循环的每次迭代结束时添加它们。参见编辑
while(line !=null) {
Data input = new Data();
input.setLN(line);
line = inputBuffer.readLine();
input.setVN(line);
line = inputBuffer.readLine();
input.setVV(line);
line = inputBuffer.readLine();
counter ++;
...
myVector.add(input);
}