【问题标题】:How to make a string in to code [duplicate]如何在代码中制作字符串[重复]
【发布时间】:2012-12-19 19:16:37
【问题描述】:

可能重复:
Convert String to code
Run piece of code contained in a String

有没有办法将变量(字符串)变成一段代码? 我的字符串必须是可变的(非静态的) 如果您能简单地解释一下,那就太好了:D

【问题讨论】:

  • 像 Java 代码一样执行字符串?不,这是不可能的。
  • 不清楚,请提供更多信息
  • 你想做什么解释一下
  • static 字符串也可以更改。你的意思是非final。这是可能的,但并不容易。搜索Java Compiler API
  • @Neobonde 请总是提供一个例子,这是值得的。你想做这样的事情吗:String commands = "int foo = 42; System.out.println(foo);"; 然后在字符串中执行 code

标签: java eclipse


【解决方案1】:

我假设您想用一些 Java 语句创建一个 String 对象,并像执行方法一样执行内容。

不,这是不可能的,因为这意味着 java 是一种解释型编程语言。事实并非如此。

您可以将该行与某种类模板(在另一个字符串上)合并,将其存储到一个文件中,使用 jdk 编译该文件(使用 `Runtime.exec 调用 javac)并使用自定义类加载器加载该类,然后反映方法和最好的希望。

使用相当新的 Java Compiler API 有一种相当复杂的方法,但我想这远远超出了您的需求。 (而且必须有一些更复杂的技巧,因为 eclipse IDE 提供了允许执行 Java 语句的视图。)

【讨论】:

    猜你喜欢
    • 2021-01-25
    • 1970-01-01
    • 2017-12-20
    • 2011-06-15
    • 1970-01-01
    • 2020-02-22
    • 1970-01-01
    • 2015-07-25
    相关资源
    最近更新 更多