java字符串池和字符串堆内存分配.docxVIP

  • 0
  • 0
  • 约3.95千字
  • 约 4页
  • 2021-01-13 发布于辽宁
  • 举报
摘录部分: Java运行环境有一个字符串池,由 String类维护。执行语句 String str=abc时,首先查看 字符串池中是否存在字符串 abc,如果存在则直接将abc赋给str,如果不存在则先在字符 串池中新建一个字符串 abc,然后再将其赋给 str。执行语句 String str= new String(abc) 时,不管字符串池中是否存在字符串 abc,直接新建一个字符串abc(注意:新建的字符 串abc不是在字符串池中),然后将其付给 str。前一语句的效率高,后一语句的效率低, 因为新建字符串占用内存空间。 String str = new Stri ng() 创建了一个空字符串,与 Stri ng str= new Stri ng()相同。 public String in tern () 返回字符串对象的规范化表示形式。 一个初始为空的字符串池,它由类 String私有地维护。 当调用in tern方法时,如果池已经包含一个等于此 Stri ng对象的字符串(用 equals(Object)方法确定),则返回池中的字符串。否则,将此 String对象添加 到池中,并返回此 String对象的引用。 它遵循以下规则:对于任意两个字符串 s和t,当且仅当s.equals(t)为true时, s.intern() == t.intern()才为 true。 Str

文档评论(0)

1亿VIP精品文档

相关文档