在Java中,存储字符串
我有一个关于用java存储字符串的问题。 您知道,我可以使用字符串类或字符数组来存储字符串,但我们通常使用字符串类来存储字符串。但为什么要将字符串存储在string对象中,而不是使用字符数组进行存储呢。据我所知,其他低级语言字符串存储为字符数组 您能解释一下使用String对象存储字符串的原因和优点吗在Java中,存储字符串,java,string,Java,String,我有一个关于用java存储字符串的问题。 您知道,我可以使用字符串类或字符数组来存储字符串,但我们通常使用字符串类来存储字符串。但为什么要将字符串存储在string对象中,而不是使用字符数组进行存储呢。据我所知,其他低级语言字符串存储为字符数组 您能解释一下使用String对象存储字符串的原因和优点吗 谢谢。我认为您应该寻找java中的字符串实现,您将看到如下内容: 私有最终字符值[] 这意味着该字符串使用字符数组。 引用文件: 类字符串包括用于检查序列中各个字符、比较字符串、搜索字符串、提取子
谢谢。我认为您应该寻找java中的字符串实现,您将看到如下内容:
私有最终字符值[]代码>
这意味着该字符串使用字符数组。
引用文件:
类字符串包括用于检查序列中各个字符、比较字符串、搜索字符串、提取子字符串以及创建字符串副本(所有字符都转换为大写或小写)的方法。
因此,您可以看到String还包含对String进行操作的有用方法,我们可以看出,使用String类是存储字符串最方便的方式。查看Javadoc,它很好地解释了这一点:
字符串是常量;它们的值在更改后不能更改
创建。字符串缓冲区支持可变字符串。因为字符串
对象是不可变的,它们可以共享。例如:
String str = "abc";
相当于:
char data[] = {'a', 'b', 'c'};
String str = new String(data);
String
s和char[]
之间有一个显著的区别——在安全性方面,最好使用char
s数组,因为String
s是不可变的,您无法更改它们
这会导致无法覆盖的情况,例如,存储在内存中某个位置的密码,任何可以访问该内存的人都可以读取该密码
如果您使用char[]
则在使用密码后,您可以清理数组。Java不是低级语言?我知道这一点,但我只是好奇为什么Java使用字符串对象来存储字符串,而不是字符数组。它确实使用字符数组。在字符串
类中。在Java中,甚至数组也是对象的一种类型。另外,如果它被存储为char[]
的话,使用String
池进行优化会更加困难。有趣。请指定一种高级语言。。。另外,给我一个数组,它有一个endsWith
方法。