Как создать сотрудника, используя другую переменную в качестве имени?

#java

Вопрос:

У меня есть этот код, я использую другой файл для размещения класса Employee, но я хотел бы использовать имя фамилию в качестве имени объекта employee. Я хочу сделать это, чтобы я мог создавать объекты сотрудников с помощью этого метода и иметь уникальные имена для каждого из них

 package com.aho; import java.util.ArrayList; import java.util.Scanner;  public class Main {   public void createEmployee(String firstName, String lastName, int employeeCount){  Employee firstName   lastName = new Employee();  }   public static void main(String[] args) {  ArrayList lt;Employeegt; employeeList = new ArrayListlt;Employeegt;();  Scanner input = new Scanner(System.in);  System.out.println("Please enter command: ");  String command = input.nextLine();   if(command.equals("Create new employee") || command.equals("create new employee")){  System.out.println("n"   "Input first name: ");  String fName = input.nextLine();  System.out.println("n"   "Input last name: ");  String lName = input.nextLine();  createEmployee(fName,lName, employeeList.size());  }else {  System.out.println("Error");  }  }  }  

Комментарии:

1. В Java это невозможно и не нужно. Переменные содержат только ссылки на объекты.

2. В чем смысл передачи EmployeeList.size() методу createEmployee?

3. Или используйте a HashMap для хранения «имени» по ссылке на Employee объект или предоставьте более удобный механизм поиска сотрудника по имени в списке

Ответ №1:

Как написано, ваш код не компилируется. Вы не можете использовать для определения имен переменных.

Похоже, что вы хотите

 Employee e = new Employee(fistName, lastName);  

И, возможно, создайте строку firstName " " lastName в этом классе…

Затем, когда вы добавляете в список, вам нужен метод, чтобы фактически вернуть этот экземпляр, например

 employeeList.add(createEmployee(fName, lName));  

Комментарии:

1. но для E это сделает каждого сотрудника объектом с именем E?

2. Я не понимаю вопроса. Это локальная переменная для функции. e не имеет никакого значения вне функции, и это не «имя», которое присваивается среде выполнения

3. Спасибо, я новичок и самообучаюсь, поэтому я ценю это объяснение