有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我需要优化BigInteger的toString()方法

我有一个很大的数字(长度数字是200000)。当我想打印这个号码时

System.out.println(myBigInt);

在BigInteger number的隐式调用方法toString()上花费了大量时间(大约5秒)

你们知道如何在控制台上打印biginteger吗?可能是第一个需要转换为字节数组,但我不知道我下一步要做什么

我需要在控制台上打印一个非常大的大整数

System.out.println(myBigInt);

共 (1) 个答案

  1. # 1 楼答案

    默认情况下,系统。出来print()只进行行缓冲,并且做了很多与Unicode处理相关的工作。由于它的缓冲区小,系统。出来println()不太适合在批处理模式下处理许多重复输出。每条管线都立即冲洗。如果输出主要基于ASCII,那么通过删除与Unicode相关的活动,总体执行时间会更好

    您可以使用以下方法来提高速度

    BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new
                         FileOutputStream(java.io.FileDescriptor.out), "ASCII"), 512);
    out.write(String.valueOf(myBigInt));