0

我已经在 Netbeans 中为 XML 模式文档自动生成代码到名为 jaxb 的包中。根元素 Nutrition 包含一个名为 food 的子元素,它可能会出现很多次。

<xsd:element name="food" maxOccurs="unbounded">

自动生成创建的营养对象包含受保护的食物对象列表。

protected List<Nutrition.Food> food;

当我尝试使用点符号将 Food 对象添加到 List 时,我无法访问列表以添加 Food 对象

Nutrition nutrition = objFactory.createNutrition();  //make a Nutrition object
Food food1 = objFactory.createNutritionFood();       // make a Food object
nutrition.food.add(food1);                           // add a Food object

Netbeans 抱怨“食物在 jaxb.Nutrition 中具有受保护的访问权限”我无法公开列表,因为它是自动生成的。我查看了其他方法的自动生成代码,并引用了 List,并且只有一个 getter 返回列表的副本。如何访问列表以添加食物对象?

4

1 回答 1

1

答案就在您的问题中,只需使用 getter 获取列表,然后将对象添加到其中即可。

您正在尝试访问受保护的对象营养的属性,因此访问它的方法是使用 get/set 方法。这个概念被称为封装。

于 2012-02-06T15:38:53.313 回答