Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,我可以使用字符串变量中的名称访问对象吗_Java - Fatal编程技术网

在Java中,我可以使用字符串变量中的名称访问对象吗

在Java中,我可以使用字符串变量中的名称访问对象吗,java,Java,我定义了一些对象集。我可以通过字符串变量传递这些对象名来访问其中的任何一个吗?这个问题在这个网站上已经被询问和回答了很多次了,你需要知道变量名并不像看上去那么重要,而且几乎不存在于编译代码中 对此的标准答案是:如果希望通过字符串访问对象,请使用映射 例如,如果希望基于字符串访问JTextField,可以使用HashMap并将字符串/JTextField成对放置。然后,当您想获得正确的JTextField时,通过适当的字符串键调用地图上的get(key)。无论您要做什么,都有一种更简单的方法来解决

我定义了一些对象集。我可以通过字符串变量传递这些对象名来访问其中的任何一个吗?

这个问题在这个网站上已经被询问和回答了很多次了,你需要知道变量名并不像看上去那么重要,而且几乎不存在于编译代码中

对此的标准答案是:如果希望通过字符串访问对象,请使用映射


例如,如果希望基于字符串访问JTextField,可以使用
HashMap
并将字符串/JTextField成对放置。然后,当您想获得正确的JTextField时,通过适当的字符串键调用地图上的
get(key)

无论您要做什么,都有一种更简单的方法来解决您的问题。相反,如果你解释你想解决的问题,回答起来会更容易。
但正如气垫船刚刚发布的那样,如果你想通过名字、数字或其他方式访问对象,使用地图通常是个好主意。地图真的很好用。

你可以使用反射。但是你想达到什么目的呢?请参见:我在基类中定义了一些对象,如suiteTest1、suiteTest2。在另一个类中,Iam试图通过将这些对象的名称动态传递到字符串col3中来访问这些对象。因此,col3.testmethod()应该与suiteTest1.testmethod()或suiteTest2.testmethod()执行的操作相同。我该怎么做?Plz帮助您的描述相当不清楚,如果您想将方法调用与特定于类的方法调用分离,您不应该使用接口吗?如果您真的提供了代码,可能会更容易理解。请将代码添加到原始问题中,而不是添加到注释中;)下面是我基类中的一个对象:suiteHome=new Xls_Reader(System.getProperty(“user.dir”)+“\\src\\com\\jamo\\Xls\\AnritsuSuite.xlsx”);我试图通过在字符串变量中提供其对象引用“suiteHome”的名称来访问Xls_Reader对象的方法。类似于String col3=“suiteName”。那么,我现在可以以col3.testmethods()而不是suiteHome.testmethods()的形式访问对象了吗?您在错误的位置添加了注释,应该通过编辑添加到原始问题中。不管怎样,这都没有意义,我不明白你想达到什么目的。@user3212073:你做得不对,描述了一部经典作品。与其告诉我们您要解决的代码,不如告诉我们您要解决的总体问题,因为您当前的方法肯定是错误的。我的要求是,我在基类中创建了大约10个对象。我需要能够通过一个变量动态地传递这些对象的名称来访问它们中的任何一个。可能吗?在我的场景中,我应该能够通过在xls工作表列中提供这些对象的名称来访问这些对象。我能够将xls文件和列(定义为字符串数组)读取到脚本中,但脚本抛出错误参数不匹配。是的,映射,已经提到过。