java - 在Java中打印到控制台的更简单方法?

标签 java printing

当我在高中时,我曾经用这种奇怪的方式打印到控制台,在其中我定义了一个名为 say() 的方法,这样我就不必每次都键入 System.out.println()是时候我想打印一些东西了。这是一个非常简单的方法,如下所示:

public static void say(Object o){

System.out.println(o);

}

我真正能想到的唯一缺点是无法打印无法转换为字符串的对象,但是 System.out.println() 也会出现这个问题。我还知道方法调用会占用堆栈上的空间,但由于这不是递归方法,因此我真的不认为它有可能炸毁堆栈。如果有人知道这样做是否可以,请告诉我!

谢谢!

最佳答案

每次打印对象System.out.println(obj)或将其添加到字符串“值是”+obj时,obj.toString () 方法将被调用,当您使用一些内部有用信息覆盖此方法时,您将收到一条用户友好的消息。否则,您将收到一条包含对象包、类名和对象内存 ID 的消息。

调用System.out.println(obj)实在是太多了,只在控制台打印一个值,我个人喜欢进行静态导入并使用out.println(obj )。这不是最好的选择,但已经足够好了。

示例:

 import static java.lang.System.out;

 public class PrintExample {

public static void main(String[] args) {
    MyObject obj = new MyObject(10);
    out.println(obj);
    MyObject2 obj2 = new MyObject2(10);
    out.println(obj2);
}

static class MyObject {

    final int value;

    MyObject(final int value) {
        this.value = value;
    }

    @Override
    public String toString() {
        return "The value is " + value;
    }
}

static class MyObject2 {

    final int value;

    MyObject2(final int value) {
        this.value = value;
    }

}
}

输出:

The value is 10
com.cflex.mp.api.log.PrintExample$MyObject2@60285225

关于java - 在Java中打印到控制台的更简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58979213/

相关文章:

java - 从 .NET 客户端使用 Java Web 服务

java - 在Android Studio中按下按钮时播放音频/声音问题

java - 如果使用 API 的数据库发生变化,如何显示推送通知?

c - C中遍历和打印单链表时出错

c - 如何在C中以逗号分隔的十六进制字符串打印定义的int?

java - 在java中使用标签重要吗?

java - Jackson JSON 映射键作为包含对象的属性

C# : Unable to print data as unicode characters from MYSQL database

php - 从类打印或从函数返回输出和打印之间有什么区别

javascript - 打印页面 - 每个 div 换行