我需要编写一个函数来执行以下功能
问问题
101 次
2 回答
1
请注意:
fqField.substring(quoteEnd+1, fqField.length());
使用被引用字符串的字符数组,而不是创建一个新字符串。也就是说,如果我有一个 100,000 个字符的数组并且我取了一个 2 个字符的子字符串,那么该子字符串将引用原始的 100,000 个字符。即使您处置对原始字符串的引用也是如此。
如果你这样做:
new String(fqField.substring(quoteEnd+1, fqField.length()));
那么这将创建一个带有新底层字符数组的新字符串。然后,您可以处理原件,并且您不会为原件消耗内存。
于 2013-01-04T10:43:14.483 回答
1
您正在创建的 ArrayList “前缀”具有列表的默认大小。您可以为其添加合理的尺寸。
使用 char 而不是 String 怎么样,您可以选择将其作为参数传递吗?
如何从一开始就将“前缀”设置为字符串(或字符)数组,而不是先将其设置为 ArrayList,然后再对其进行转换。
于 2013-01-04T10:47:45.397 回答