gpt4 book ai didi

java - 何时使用子字符串传递给方法 vs 传递整个字符串并使用整数指定边界

转载 作者:太空宇宙 更新时间:2023-11-04 14:45:04 28 4
gpt4 key购买 nike

假设您有一个字符串,您正在部分处理它,但遇到了要由不同方法处理的部分。是传递整个字符串并使用 int 来显示边界更好,还是应该创建子字符串并将其作为参数传递给其他方法?

用于处理表达式的方法,但如果遇到括号,则调用另一个方法。

例如,假设我有一个方法process (String str)。其中有一行 if(str.charAt(i) == '(') 调用另一个负责查找右括号的方法。传递方法 str.substring 会更好吗(i, str.length) 或者只是让该方法接受第二个参数并传递给它i,以便它知道从哪里开始工作?

最佳答案

因为字符串是不可变的。当您在实例上调用 subString 时,您将创建新对象。因此,为了提高性能,最好传递整个字符串以及开始和结束的索引,但您可能需要传递 char[],而不是传递字符串。

在 Java 7 中,您可以使用类 Segment供代表。

您还可以使用CharSequence作为方法的属性。这将确保您不会改变对象,并且仍然具有字符数组的灵 active 。

关于java - 何时使用子字符串传递给方法 vs 传递整个字符串并使用整数指定边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24500201/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com