在C中我习惯使用#define p printf
帮助我轻松编码,而不是每次都输入printf
让我举一个例子来更好地理解
p("hello world");
它完成了
的工作printf("hello world");
在java中有一种方法可以做到这一点我经历了很长时间它不是一个重复的问题,因为他们回答说我没办法确定有一种方法可以使用ENUM来做到这一点
我如何在java
中实现它答案 0 :(得分:8)
您需要在辅助类中使用方法。
e.g。
enum Helper {;
static void p(String fmt, String... args) { System.out.printf(fmt, args); }
static void p(Number n) { System.out.print(n); }
}
所以你可以打电话给
import static mypackage.Helper.p;
p("hello world");
虽然您可以使用Scanner
做类似的事情,但没有scanf。
您可以使用宏执行的大多数有用的事情,您可以使用简单的Java语法。从长远来看,JIT将在运行时优化代码以获得相同的性能优势。
答案 1 :(得分:5)
简单回答:你不是。 Java没有这种文本替换。
实际上,你也不应该在C中进行那些类型的替换。这样的#define
是一个麻烦的方法。
答案 2 :(得分:3)
为了上帝的爱。不要这样做。您的代码中会出现很多意外行为。
但是你可以学习一些快捷方式,比如键入“syso”+ Return(在Eclipse中)或“sout”+ Return(在Netbeans中)。不缩短您的代码,但速度更快。
答案 3 :(得分:0)
Java中没有类似的宏。您可以编写自己的方法,委托给System.out.ṕrintln
等等,但这可能是不必要的工作,收益很少。
以这种方式思考,输入这些词会让你的手指更加敏捷。