Java 如何在字符串后命名对象引用

Java 如何在字符串后命名对象引用,java,string,object,reference,Java,String,Object,Reference,例如,我们有 String name = "Peter"; 我们希望假设雇员的特定实例以这个字符串命名,如 Employee ____ = new Employee(...); 那么我必须在这里写些什么呢?您只能命名包含引用的局部变量 Employee peter = new Employee("peter"); 如果你想查找员工我的名字,你可以这样做 Map<String, Employee> employeeMap = new LinkedHashMap<>()

例如,我们有

String name = "Peter";
我们希望假设雇员的特定实例以这个字符串命名,如

Employee ____ = new Employee(...);

那么我必须在这里写些什么呢?

您只能命名包含引用的局部变量

Employee peter = new Employee("peter");
如果你想查找员工我的名字,你可以这样做

Map<String, Employee> employeeMap = new LinkedHashMap<>();

employeeMap.put("peter",  new Employee("peter"));

Employee e = employeeMap.get("peter");

只能命名包含引用的局部变量

Employee peter = new Employee("peter");
如果你想查找员工我的名字,你可以这样做

Map<String, Employee> employeeMap = new LinkedHashMap<>();

employeeMap.put("peter",  new Employee("peter"));

Employee e = employeeMap.get("peter");

我不确定这是否可以用Java实现。您可以改为使用,其中键为employee name Peter,值为employee对象。但在这种情况下,需要通过使用Employee类的其他字段重写hashCode and equals方法来区分两个同名的Employee对象

更好的方法是使用一些唯一的ID作为地图的键,就像employeeID一样


如果雇员有一个名为name的字段。您可以在构造函数中或使用setter方法进行设置。

我不确定是否可以在Java中进行设置。您可以改为使用,其中键为employee name Peter,值为employee对象。但在这种情况下,需要通过使用Employee类的其他字段重写hashCode and equals方法来区分两个同名的Employee对象

更好的方法是使用一些唯一的ID作为地图的键,就像employeeID一样

如果雇员有一个名为name的字段。您可以在构造函数中或使用setter方法进行设置。

变量名在Java中不相关-它们在编译代码后会丢失,只是程序员的一种方便。因此,这样动态地命名变量是不可能的

您可以将name作为Employee类的字段,也可以按照其他人的建议使用映射。如果您需要一种按姓名快速查找员工的方法,后一种方法可能是最好的方法。

变量名在Java中不相关-它们在您的代码编译后会丢失,只是程序员的一种方便。因此,这样动态地命名变量是不可能的


您可以将name作为Employee类的字段,也可以按照其他人的建议使用映射。如果您需要一种按姓名快速查找员工的方法,后一种方法可能是最好的方法。

为什么要这样做?无论您如何命名局部变量,程序都将以相同的方式工作。编译器甚至会删除这些信息。你为什么要这样做?无论您如何命名局部变量,程序都将以相同的方式工作。编译器甚至会删除这些信息。