关于StringBuilder数组的问题

问题描述 投票:0回答:1

我正在尝试用“”初始化一个StringBuilder。这是 2 个示例,第一个示例不起作用,而第二个示例起作用。谁能解释一下吗?这是因为 StingBuilder 是一个对象吗?

    for (StringBuilder element : sb){
        element = new StringBuilder(""); 
    } // this solution doesn't work, print sb[0] = null

    for(int i=0; i<sb.length; i++){
        sb[i] = new StringBuilder("");
    }

我希望两者都能发挥作用。

java arrays stringbuilder
1个回答
0
投票

for-each
循环隐藏了迭代器,因此您的第一种方法将不起作用。另一个解决方案是生成一个
Stream<StringBuilder>
然后将其转换为数组。假设您想要一个
n
StringBuilder
的数组,可能看起来像这样,

StringBuilder[] sb = Stream.generate(() -> new StringBuilder()).limit(n)
        .toArray(size -> new StringBuilder[size]);
© www.soinside.com 2019 - 2024. All rights reserved.