java中的关键字,类似于C中的define

Sma*_*ode -7 java

在C我习惯使用 #define p printf

帮助我轻松编码,而不是每次都输入printf

让我举一个例子来更好地理解

p("hello world");
Run Code Online (Sandbox Code Playgroud)

它完成了工作

printf("hello world");
Run Code Online (Sandbox Code Playgroud)

在java中有一种方法可以做到这一点我经历了很长时间它不是一个重复的问题,因为他们回答说我没办法确定有一种方法可以使用ENUM

我怎样才能在java中实现它

Pet*_*rey 8

您需要在辅助类中使用方法.

例如

enum Helper {;

    static void p(String fmt, String... args) { System.out.printf(fmt, args); }
    static void p(Number n) { System.out.print(n); }
}
Run Code Online (Sandbox Code Playgroud)

所以你可以打电话

import static mypackage.Helper.p;

p("hello world");
Run Code Online (Sandbox Code Playgroud)

虽然你可以使用a Scanner来做类似的事情,但是没有scanf .

您可以使用宏执行的大多数有用的事情,您可以使用简单的Java语法.从长远来看,JIT将在运行时优化代码以获得相同的性能优势.

  • 是.有用.但是当我在读别人的代码时,这种事情让我想要呕吐...... (6认同)
  • @StephenC好点,只因为你可以做到,不会让它成为一个好主意.就像创建一个名为`whi1e`的方法;) (3认同)
  • @SmashCode我为数字添加了重载方法. (2认同)

dbu*_*ush 5

简单回答:你没有.Java没有那种文本替换.

实际上,你也不应该在C中进行那些类型的替换.一个#define喜欢就是一个麻烦的食谱.