【问题标题】:Is There macro substitution in java?java中有宏替换吗?
【发布时间】:2012-09-19 05:16:23
【问题描述】:

我会知道java中是否存在“宏替换”... 我正在开发一个最初是在 Visual Fox Pro 中开发的 Android 系统, 现在我必须将一些带有“宏替换”的方法转换为 Java 语言。

我怎样才能实现它?

【问题讨论】:

  • 没人知道你所说的“宏替换”是什么意思:举一个具体的例子来说明你在说什么。
  • 宏替换在不同语言中有不同的含义,需要更具体的需求,

标签: java


【解决方案1】:

您可能在询问宏扩展,您可以在其中输入带有参数的宏,然后将其扩展为可编译的 Java 代码。

简单的答案是

请参阅Alternatives to macro substitution in java 了解另一种模拟宏扩展的方法。

大多数 IDE(Eclipse 是我选择的毒药)会做一些与宏扩展平行的事情。如果您键入 foreach 和 Ctrl-Space,它会将其扩展为 for 循环 Java,并最好地猜测您正在迭代的内容。

【讨论】:

    【解决方案2】:

    我熟悉 Visual FoxPro 中的宏替换。它本质上允许程序员使用在运行时而不是在编译时评估的变量名称来引用变量的值:

    myvar = "MyVariable"
    &myvar = 42
    ? myvar
    ? &myvar
    ? MyVariable
    

    输出:

    我的变量
    42
    42

    此代码在运行时动态创建一个名为 MyVariable 的变量。

    这是可能的,因为 Visual FoxPro 支持动态类型或“后期绑定”,因为它是一种解释语言而不是编译语言。 Java 不直接支持动态类型。 Java 开发人员似乎更喜欢的方法是使用 Map 将变量名称及其值关联起来。请参阅线程How do I dynamically name objects in Java?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-12
      • 1970-01-01
      • 2014-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多