首页 > 解决方案 > 如何使用 Java 8 流将字符串数组转换为大整数数组

问题描述

我有一个字符串数组,我想使用 Java 8 流将其转换为 BigInteger 数组。

String[] output = bigSorting(new String[]{"31415926535897932384626433832795", "1", "4900146572543628830293235422623540449026979", "10", "57500297590012603652986133599394871645776460", "5", 
                    "497010206818067722087306230802257700034825862515267073569769100385728461314", "57500297590012603652986133599394871645776460497010206818067722087306230802257700034825862515267073569769100385728461314497010206818067722087306230802257700034825862515267073569769100385728461314497010206818067722087306230802257700034825862515267073569769100385728461314497010206818067722087306230802257700034825862515267073569769100385728461314497010206818067722087306230802257700034825862515267073569769100385728461314"});
        Object[] unsortedBigIntegerArr = convertFromStringArrayToBigIntegerArray(output);

这是我尝试过的,但我无法获得 BigInteger 数组,但我能够获得 Object 数组。

private static Object[] convertFromStringArrayToBigIntegerArray(String[] unsorted) {
        return Arrays.stream(unsorted).map(BigSorting2::convertFromStringToBigInteger).toArray();
    }

    private static BigInteger convertFromStringToBigInteger(String unsorted) {
        return new BigInteger(unsorted);
    }

有什么办法可以完全使用 Java 8 流。

标签: javajava-8java-streambiginteger

解决方案


很简单:

return Arrays.stream(unsorted)
             .map(BigSorting2::convertFromStringToBigInteger)
             .toArray(BigInteger[]::new);

推荐阅读