为输出中打印的每一行递增的静态计数器?

Static counter that increments for every line printed in output?

我的输出很长,我正在尝试对输出中打印的行进行编号,以确保所有行都正确打印。我只会在我的方法中使用常规计数器,但我使用递归来打印所有内容,因此很难准确计算打印的行数。我怎样才能制作某种在打印每一行之前打印的静态计数器,以便对每一行进行基本编号?

您可以创建类似 CounterHolder 的内容,并在每次尝试获取值时递增它:

public class CounterHolder{

    private static int counter = 0;

    private CounterHolder(){}

    public static int getCounter(){
        return counter++;
    }

}

更新:

您也可以在这里添加自定义打印方式:

public class CounterHolder{

    private static int counter = 0;

    private CounterHolder(){}

    public static void print(String msg){
        System.out.println(String.format("%d -> %s", counter++, msg));
    }

}