【发布时间】:2010-12-10 00:47:30
【问题描述】:
我正在尝试制作一个包含不同对象的列表。
List<Object> list = new ArrayList<Object>();
defObject defObj;
optObject optObj;
而 defObject 只有一个字符串属性。
public static class defObject
{
public static String defObj;
public defObject(String x)
{
setDefObj(x);
}
public static String getDefObj() {
return defObj;
}
public static void setDefObj(String defObj) {
defObject.defObj = defObj;
}
}
如果我将多个 defObjects 添加到列表中,并在我完成添加元素后浏览列表,它们都包含相同的字符串,这是添加到列表中的最后一个 defObject。
我正在做这样的事情来将对象添加到列表中:
if (whatever)
list.add(defObj = new defObject("x"));
else if(whatever)
list.add(defObj = new defObject("y"));
结果是两个带有“y”字符串的defObjects
请帮我弄清楚为什么没有正确添加对象,并且属性都与添加到列表中的最后一个 defObj 相同。
【问题讨论】:
-
类名应大写。
标签: java