2014-09-19 122 views
-2

有人能解释第一个地方需要什么字符串池吗?有什么好处。为什么字符串存储在Java中的字符串池?

+1

你会付出一些努力来创造它们。如果你要再次使用它们(假设你将再次需要它们),将它们扔掉是没有意义的。 – TheLostMind 2014-09-19 12:11:39

+1

一个很好的答案在这里:http://stackoverflow.com/questions/3801343/what-is-string-pool-in-java – Daniel 2014-09-19 12:12:55

回答

0

池是可能的,因为字符串是不可变的。但是String的不变性只是因为这个池而决定的。不变性有许多其他好处。顺便说一句,Double也是不可改变的,并且没有Double池。

对字符串池的需求是为了减少保存程序使用的所有字符串文本(和字符串字符串)所需的内存,因为这些字符很有可能被多次使用,在许多地方程序。而不是有相同的字符串文字的成千上万的副本,你只需要对同一个字符串进行千次引用,这减少了内存使用量。

请注意,String类与其他类没有区别:它拥有自己的char数组。不过,它也可能会与其他String实例共享,当调用子字符串时。

+0

谢谢你,这是我想知道的。对不起,不能upvote因为我刚刚加入该网站,学分低。 – 2014-09-22 06:56:30