#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. Спасибо, я новичок и самообучаюсь, поэтому я ценю это объяснение