如何从存储自定义Country对象的ArrayList中获取特定成员变量?
从ArrayList中获取name属性的方法
首先你需要确保Country类提供了name属性的访问方法,符合Java封装规范的写法是给私有属性添加getter方法:
public class Country { private String name; private String code; public Country(String name, String code) { this.name = name; this.code = code; } // 新增name属性的getter方法 public String getName() { return name; } public String getCode() { return code; } }
之后可以根据你的使用场景选择对应的取值方式:
- 如果你明确知道目标元素在列表中的索引位置(比如你示例中germany是第一个加入列表的元素,索引为0),直接通过索引取值即可:
// 索引从0开始计数,get(0)取到第一个元素 String germanyName = countries.get(0).getName(); - 如果你需要遍历整个列表取所有元素的name属性:
for (Country country : countries) { System.out.println(country.getName()); } - 如果你需要按指定条件(比如匹配code为GER)查找对应的name:
for (Country country : countries) { if ("GER".equals(country.getCode())) { System.out.println("匹配到的国家名称:" + country.getName()); break; } }
注意事项
- 如果你的
name属性是用public修饰的,也可以直接写countries.get(0).name取值,但这种写法不符合Java开发规范,不推荐使用。 - 调用
get()方法前请确认索引没有超过列表的元素总数,可以先通过countries.size()获取列表长度,避免抛出索引越界异常。
内容的提问来源于stack exchange,提问作者Ogulcan Bozkurt
相关产品推荐
相关产品推荐

