员工和爱好是该计划中的两个班级。在for循环中,Employee和Hobby对象在每次迭代中都被初始化,它们是否会指向每次或相同位置的新内存位置?
public void addEmployees(int a, HashMap<Employee,Hobby> hMap)
{
Scanner obj = new Scanner(System.in);
Scanner obj1 = new Scanner(System.in);
for(int i =0; i<a ; i++)
{
Employee emp = new Employee();
Hobby hob = new Hobby();
System.out.println("Enter id of employee:");
int num = obj.nextInt();
emp.setEmployeeId(num);
System.out.println("Enter name of employee:");
String str = obj1. nextLine();
emp.setName(str);
hob.enterHobby();
hMap.put(emp,hob);
}
}
答案 0 :(得分:1)
实际的内存位置无关紧要,因为它对Java程序不可见,但每次迭代都会构造一个新对象。
答案 1 :(得分:0)
每次都在堆上创建新对象。他们可能会也可能不会指向同一地点。