我目前正在阅读有关Java的教科书,涉及String
数据类型的每章也讨论char
。我的问题是,char
在现实世界中的目的是什么?
我唯一发现的是因为String
是不可变的,所以它使得它成为密码的不良选择。因此,应该选择char[]
上的字符数组(String
)。但是,Java确实有一个名为StringBuilder
的字符串的可变类;那不像char[]
那样适合替换字符串吗?
答案 0 :(得分:2)
这已经在评论中得到了回答:)
String
是Char
的集合。如果没有Char
,则无法从{。<}获取String
。
因为Char[]
和处理Char[]
非常重要,所以他们需要有自己的类来处理它们 - 因此String
。
在编码中,除非您正在处理Char
或处理密码,否则您不可能直接使用String
数据类型。 Char[]
用于密码的唯一原因是因为它很难意外地将它们打印到日志中/在内存中查看它们/将它们放入字符串缓存等等,因为一旦你完成它就可以明确地将元素归零数组因此它永远不会在内存中停留超过需要的时间。