gpt4 book ai didi

Java - 如何访问具有动态名称的汽车?

转载 作者:行者123 更新时间:2023-11-29 22:23:32 25 4
gpt4 key购买 nike

我访问包含多个字段的数据库:

  • rabbit2013
  • rabbit2014
  • rabbit2015
  • 等等

我正在尝试用 Java 创建一个程序来读取当前年份的变量(此处为 rabbit2015)。我的变量 year 中有当前年份。如何返回“rabbit”+year的值?

我尝试了这个但不起作用:

ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
Object result = null;
try {
result = engine.eval("rabbit"+year);
}
catch (ScriptException e){
e.printStackTrace();
}
System.out.println(result);

你有什么想法吗?

编辑:

Error : ReferenceError: "rabbit2015" is not defined in <eval> at line number 1

最佳答案

result = engine.eval("\"rabbit\"+year");

按照您的方式,Java 正在评估“rabbit”+year,然后将其传递给 eval 方法。

假设“year”是一个 java 变量,您还需要将其放在 ScriptEngine 绑定(bind)上...

    Bindings bindings = engine.createBindings();
bindings.put("year", year);

然后,当您调用 eval() 时,将绑定(bind)作为第二个参数传递...

    result = engine.eval("\"rabbit\"+year", bindings);

关于Java - 如何访问具有动态名称的汽车?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30485171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com