有没有简单的方法来打印Java变量,而不是使用system.out.print?

3

我曾经编写过C++或C程序。 在C中,我使用了

printf();

在C++中使用完

std:cout 

我可以直接使用

标签。

cout<< variable;

我想知道是否有一种简单的方法可以打印 Java,而不需要每次都输入 system.out.print()?

附注:我知道我可以自己实现一个方法。只是想知道 Java 是否有这个功能,但我可能错过了它。


不,没有其他“更容易”的方法... 顺便说一下,System.out.print 对我来说很容易。 - BackSlash
按照什么标准,printf 容易使用而 System.out.println 不容易使用? - Marko Topolnik
@MarkoTopolnik,其实我只是不想每次都打System.out。 - AlexWei
当然,在每个类中创建一个函数 void x(String s) {System.out.println(s);}。然后只需使用 x("你好," + name); - paxdiablo
2
我几乎从不亲自输入它:所有的IDE都带有它的模板。我在Eclipse中输入sysout。你也可以使用import static System.out,尽管我从未感到有必要这样做。 - Marko Topolnik
2
@MarkoTopolnik 谢谢,这就是我想要的答案。因为我刚开始学习Java,太多类型让我感到疲倦。 - AlexWei
5个回答

3

不。有几个选择:

  1. As you say, just implement it in your class.

    void println(String msg) { // String or Object or whatever
        System.out.println(msg);
    }
    
  2. Use a variable in your method:

    PrintStream a = System.out;
    
    // ...
    
    a.println("Hi there");
    
  3. In his comment, Marko said you can import static System.out; and then just use out.println in your code.


如果对象不是字符串或者是原始类型呢? - Ankur Shanbhag
@AnkurShanbhag:所以第二种或即将到来的第三种方式可能更好。 - T.J. Crowder
@Marko:感谢你的修复。 - T.J. Crowder

3
在Eclipse中,如果你输入syso然后按下ctrl + space,它会建议使用System.out.println(...)

+1。实际上,这对于大多数IDE都适用,并且比实现自己的静态方法更快! - Danish Ashfaq

1
在NetBeans中,键入“sout”并按Tab键。它会自动转换为System.out.println。

0
不,你需要自己实现一个更短的方法名,就像这样。
public static void println(String msg){
    System.out.println(msg);
}

或者,选择像log4j这样的东西,它可以在不同的日志级别上为您完成许多事情,以更简洁的方法名来完成此操作。

1
@T.J.Crowder,是的,你说得对,我只是举了一个例子,因为OP来自C。我更新了我的答案,谢谢! - JaskeyLam

0

大多数IDE都带有System.out.println的代码模板,因此如果只是输入,这提供了一种解决方案。

然而,如果您主要使用System.out.println来添加调试输出,那么您可以通过像这样的辅助方法打败您列出的任何内置习语的便利性:

public static <T> T spy(String msg, T x) { System.out.println(msg+": "+x); return x; }

优点是您可以将其插入到任何表达式的中间:

String result = dbCall(arg1, spy("Second arg", arg2), arg3);

我假设在上面使用了 spy 的静态导入。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接