当前位置: 首页 > 面试题库 >

在Java中,如何更有效地附加字符串?

苏硕
2023-03-14
问题内容

我写了一个Java程序,其中需要附加一个字符串

" u13a2"到现有的"u1234 u12de u1386 ... u15a3"

因此,字符串逐渐变长。我发现每次附加所花费的时间也越来越长。有什么办法可以改善这一点?

我想到的实现包括:

unicodeArray += " "+unicode;

要么

unicodeArray = unicodeArray.concat(" "+unicode);

他们表现相似。我认为导致这些不良性能的主要原因是特殊类型String。它为每个作业创建一个新对象。如果您也这样认为,这是否意味着我最好使用其他类型,例如字节数组?


问题答案:

使用StringBuilder类。您尝试执行的操作效率更高。



 类似资料:
  • 问题内容: 在Go中,a 是原始类型,这意味着它是只读的,对其的每次操作都会创建一个新的字符串。 因此,如果我想多次连接字符串而又不知道结果字符串的长度,那么最好的方法是什么? 天真的方法是: 但这似乎不是很有效。 问题答案: 新方法: 在Go 1.10+中strings.Builder,这里是。 生成器用于使用Write方法有效地构建字符串。它最大程度地减少了内存复制。零值可以使用了。 与几乎相

  • 问题内容: 我想将所有记录上的代码更新为当前的代码,再加上_standard任何想法? 因此,例如,如果代码是apple_1和apple_2,则我需要将它们设置为apple_1_standard和apple_2_standard 前: 伪查询: 预期结果: 问题答案: 您需要在MySQL中使用该函数进行字符串连接:

  • 我正在尝试连接2个字符串,但不确定如何进行连接。 这是我的代码: 我试着用在中添加它,我试着用这种方式创建它,它只显示数字,不显示文本

  • 问题内容: 问题: 我需要将多个正则表达式应用于大日志文件的每一行(例如几GB长),收集非空匹配项并将其全部放入数组中(用于序列化并通过网络发送)。 如果对此问题的答案成立,切片没有多大帮助: 如果分片没有足够的容量,则append将需要分配新的内存并复制旧的内存。对于具有<1024个元素的片,它将使容量加倍;对于具有> 1024个元素的片,它将使容量增加1.25倍。 由于实际上可以有成千上万个正

  • 问题内容: 我是iOS新手。我目前正在使用Objective-C和Swift学习iOS。 要在Objective-C中附加字符串,我使用以下代码: 有人请指导我。 问题答案: 非常简单: 对于ObjC: ForSwift: 对于ObjC AppendString: 对于Swift AppendString: 结果: 在Swift中完成代码:

  • 我正在导入一个文本文件,该文件将行星与其状态关联为True(对于行星),或False(对于矮星),其顺序必须与下面的字典键相同。 这是一本名为“索尔”的字典: {‘天王星’:[275030002880],‘水星’:[46,70,57],‘地球’:[147152150],‘金星’:[107109108],‘火星’:[205249228],‘土星’:[13501510140],‘木星’:[741817