高效的填充方式

时间:2012-10-09 04:37:12

标签: actionscript-3

我正在考虑使用fill char.define函数构建字符串的最快方法:

fillString('A',12); // return 'AAAAAAAAAAAA'

一个简单的循环可以做到这一点,但如果我想要填充数百万个字符,它就不会很快。

这是在actionscript中组合字符串的最快方法吗?

array.join('');

如果是这样,首先需要先构建一个数组,这将占用太多空间。

一旦我在想stringbuffer class,但我认为它比直接使用String慢。

2 个答案:

答案 0 :(得分:3)

这可能不是正确的actionscript语法,但你应该明白这个想法:

public function fillString(filler:String, count:integer):String {
    var result:String = filler;
    while (result.length <= count/2)
        result += result;
    return result+result.substr(0,count-result.length);
}

答案 1 :(得分:0)

关于加入字符串的最快方法,this文章有一些基准:

http://jacksondunstan.com/articles/1790

基本上,只使用bigString = stringA + stringB就可以完成这项任务,但是使用ByteArray技巧可以提高速度。

顺便说一下,jacksondunstan.com是获取有关AS3性能的可靠科学数据的重要来源。