当前位置: 首页 > 知识库问答 >
问题:

如何在另一个变量中创建变量?[重复]

郎宏逸
2023-03-14

可能重复:
Java中的动态变量名:

假设我有一个字符串,如下所示。

String s = "Hello";

现在,我想创建一个字符串,但是字符串的变量将被称为“Hello”。为了使字符串名为“Hello”,我必须访问strings以获取名称“Hello”,这样我就可以将其用作变量名。下面是我想看的。

String Hello = "I want to do this, But from Accessing String s So I KNOW that String s = Hello";

感谢您的努力,请尝试向我解释,因为我是Java初学者D

共有3个答案

段干靖
2023-03-14

这在java中是不可能的。

您唯一能做的就是使用Amap接口'实现,例如HashMap。使用put方法,您可以将值“分配”给给定的“名称”。该名称将是一个key,并且在映射中必须是唯一的,就像变量在其范围内具有唯一的名称一样。

要检索,请调用get方法,将适当的(例如string'Hello')作为参数传递。

慎峻
2023-03-14

使用反射(不推荐):

public class MainClass
{
    public String Hello = "I want to do this, But from Accessing String s So I KNOW that String s = Hello";

    public static void main(String[] args) throws Exception
    {
        MainClass m = new MainClass();

        String s = "Hello";
        String result = (String) MainClass.class.getField(s).get(m);
        System.out.println(result);
    }
}

输出:

I want to do this, But from Accessing String s So I KNOW that String s = Hello

相反,使用地图作为其他说明。

林英朗
2023-03-14

您试图做的是添加一层间接寻址。不能在Java/C/C/Pascal等静态语言中动态访问变量

您可以做的是模拟动态语言使用的动态上下文,例如创建一个Map来保存变量名称和值,在这种情况下您将拥有

Map<String,String> stringVars = new HashMap<String,String>();

// set a "variable"
stringVars.put("Hello", "value");

// get a "variable"
System.out.println(stringVars.get("Hello"));
 类似资料:
  • 问题内容: 我在Javascript中有一组全局计数器变量: 等等 然后,我有了一个Javascript函数,该函数接受一个映射到这些全局计数器的“索引”数字。在此函数内部,我需要使用传递给该函数的“索引”值来读写这些全局计数器。 我希望它如何工作的示例,但当然根本不起作用: 我希望我要实现的目标是明确的。如果没有,我会尽力澄清。谢谢。 编辑说明: 我不是要增加计数器的名称,而是要增加计数器包含的

  • 我有两个Java类,Product和ProductReview。ProductReview除了变量long id和String review外,还有一个名为Product的变量,该变量应包含类Product中的一个对象。例子: Products类有私有变量long id、String name和List评论(它也从Product评论类中获取评论)。产品类与Product评论有一对多的关联,反之亦然

  • 问题内容: 用Java开发一个简单的井字游戏。 我有一个名为的课程。此类应包含有用的游戏方法。游戏发生在另一个班级。 中的方法是。该方法应该将所有9个按钮(井字游戏板)上的文本设置为空白,再次将它们设置为启用,然后将变量设置为1。 这是它的代码: 是游戏主类中的JButtons数组。 该方法以前在游戏的主要类中使用。但是现在它在不同的类中,它无法到达该类中的按钮并对其进行操作。 我在中创建了get

  • 我目前正在与tkinter一起完成一项学校作业,为用户创建一个图形用户界面以输入他们的输入。我决定将输入分成不同的页面,以避免用户被问题淹没,并且不需要滚动 每一页都有一系列标签和条目,在一个右除数和一个左除数上分开,我已经设法在每一页上实现了这一点,付出了一些努力。这是我工作代码的简化版本: 然而,在将每个页面拆分为两个不同的Frame()容器时,我遇到了两个问题: 用ipadx和ipady设置

  • 问题内容: 我想用Python(不是数组)中的一个创建10个变量。像这样: 我想创建的变量名,在这种情况下: ,,,…, 我不想一个数组 我有一个坐标图(640 x 480)。我正在确定像素颜色为白色的坐标。地面上有3个球,我想获取每个球的中心坐标,因此,如果要评估的坐标距离最后一个球很近,则x和y坐标将被平均(如果该坐标属于a)新球的坐标将属于新坐标组。 问题答案: 您不应该这样做,但是如果您真

  • 问题内容: 如何在同一个变量中调用另一个变量? 问题答案: 首先声明您的方法以接受参数: 然后通过: 使用实例变量不是一个很好的选择,因为它将需要在调用 之前 调用一些代码来设置值,并且对此没有控制权,这可能会导致错误。而且它也不是线程安全的。