【发布时间】:2011-03-16 20:54:15
【问题描述】:
我在获取对象的新值时遇到问题。我有这样的代码:
...
TimeSchedule[] offspringScheduleOne = new TimeSchedule[AVAILABLE_CLASSROOMS];
...
offspringScheduleOne[i] = genes.get(geneOneIndex).getSchedule()[i];
...
在赋值后,offspringScheduleOne[i] 和genes.get(geneOneIndex).getSchedule()[i] 指向相同的内存地址。我想要:offspringScheduleOne[i] 应该得到 genes.get(geneOneIndex).getSchedule()[i] 的值,它们不能相同,它们应该具有相同的值。
TimeSchedule 类:
public class TimeSchedule extends AlgorithmParameters {
public int[][] timetable = new int[DAYS][HOURS];//DAYS and HOURS are static final variables that comes from AlgorithmParameters
public int[][] getTimetable() {
return timetable;
}
public void setTimetable(int[][] timetable) {
this.timetable = timetable;
}
}
我该怎么做?
【问题讨论】:
-
您的问题的标题(它们必须在内存中指向相同的地址)与文本相反(它们应该具有相同的值 ) - 事实上,你想要什么?
-
@Paŭlo Ebermann 谢谢,我已经编辑过了。
标签: java memory variable-assignment