有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如果存储的单词经常变化,使用字符数组或字符串是否更好?

我知道String是不可变的,因此如果更改字符串,它将生成一个单独的字符串,因此我认为char数组可能是更好的选择。我查了一下char是否是不可变的,很多人说是不可变的,有些人说只是包装器类是不可变的。我想知道char是否是不可变的,如果存储的单词经常更改,那么使用char数组是否比使用字符串更好


共 (2) 个答案

  1. # 1 楼答案

    char是不可变的,因为它是一个原语。看看这个答案:Are Java primitives immutable?

    无论如何,数组是可变的。您可以通过更改数组中的值来更改char数组的值

    使用字符数组是否更有效?理论上是的,但您将放弃使用字符串提供的许多功能。这将迫使您自己实现东西,这可能比仅仅使用字符串效率低

    我的建议是,从字符串开始,如果您的整个应用程序性能都依赖于此,您可以开始考虑其他解决方案

    不要解决你没有的问题:-)

  2. # 2 楼答案

    在Java中,所有基元类型在默认情况下都是可变的,并且只有在使用final修饰符定义时才是不可变的。使用char数组作为String的可变替代是错误的。改用StringBuilder