我有一个非常大的数字(长度数是200000)。当我想打印这个号码时
System.out.println(myBigInt);
大量时间用于BigInteger数字的隐式调用方法toString()(约5秒)
你知道如何在控制台上打印biginteger吗?可能首先需要转换为字节数组,但我不知道接下来要做什么。
我需要在控制台上打印一个非常大的大整数然后
System.out.println(myBigInt);
答案 0 :(得分:1)
默认情况下,System.out.print()只是行缓冲,并且与Unicode处理有很多相关的工作。由于其缓冲区大小较小,System.out.println()不适合在批处理模式下处理许多重复输出。每条线都立即冲洗。如果您的输出主要是基于ASCII的,那么通过删除与Unicode相关的活动,总体执行时间会更好。
您可以使用以下方法来提高速度。
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new
FileOutputStream(java.io.FileDescriptor.out), "ASCII"), 512);
out.write(String.valueOf(myBigInt));