Java - 将 if() 语句中的新对象添加到在 if(){} 外部声明的列表
Java - adding new Object within an if() statement to a list declared outside if(){}
我有这段代码,其中 ArrayList 是在任何条件之外实例化的:
List<PatientDto> list = new ArrayList<PatientDto>();
for(Object o : ObjectList){
if(true){
PatientDto patient = new PatientDto(....);
list.add(patient);
}
}
PatientDto dto = list.get(0);
鉴于新的 PatientDto() 是在 if 语句中实例化的,我在访问列表时是否仍然能够检索它?
是
患者在 if
子句的范围内,但如果您可以在 if
子句之外访问相同的引用,则可以在块外访问它。
该列表存储了您的 patient
对象的引用,您可以在任何可以访问该列表的地方访问该对象。因此,您可以通过从列表中获取包含的对象来访问它。
是的,既然你是把它插入到列表中,你可以通过索引来获取它。或者您可以在稍后插入所有对象后进行迭代。
例如:
PatientDto patient = list.get(index);
更新:
PatientDto dto = list.get(0);
是的,这给出了列表中第 0
个索引 PatientDto
,无论您之前放在那个地方是什么。由于您在循环中添加了新实例,因此它们会给您相同的结果。
进入范围
for(Object o : ObjectList){
if(true){
PatientDto patient = new PatientDto(....);
list.add(patient);
}
}
System.out.println(patient); // err, I dont know what is patient
System.out.println(list.get(0)) // yay here is the patient, use it.
我有这段代码,其中 ArrayList 是在任何条件之外实例化的:
List<PatientDto> list = new ArrayList<PatientDto>();
for(Object o : ObjectList){
if(true){
PatientDto patient = new PatientDto(....);
list.add(patient);
}
}
PatientDto dto = list.get(0);
鉴于新的 PatientDto() 是在 if 语句中实例化的,我在访问列表时是否仍然能够检索它?
是
患者在 if
子句的范围内,但如果您可以在 if
子句之外访问相同的引用,则可以在块外访问它。
该列表存储了您的 patient
对象的引用,您可以在任何可以访问该列表的地方访问该对象。因此,您可以通过从列表中获取包含的对象来访问它。
是的,既然你是把它插入到列表中,你可以通过索引来获取它。或者您可以在稍后插入所有对象后进行迭代。
例如:
PatientDto patient = list.get(index);
更新:
PatientDto dto = list.get(0);
是的,这给出了列表中第 0
个索引 PatientDto
,无论您之前放在那个地方是什么。由于您在循环中添加了新实例,因此它们会给您相同的结果。
进入范围
for(Object o : ObjectList){
if(true){
PatientDto patient = new PatientDto(....);
list.add(patient);
}
}
System.out.println(patient); // err, I dont know what is patient
System.out.println(list.get(0)) // yay here is the patient, use it.