首页 > 编程知识 正文

java中字符串相加发生了什么(java中字符串和数字相加)

时间:2023-12-05 14:04:52 阅读:312248 作者:QIAR

本文目录一览:

  • 1、java中,两个String类型的字符串相加得到一个新的字符串,请问原来的字符串是否改变,为什么?
  • 2、java string 相加有什么不好
  • 3、java中字符串相加本质到底是怎样的

java中,两个String类型的字符串相加得到一个新的字符串,请问原来的字符串是否改变,为什么?

java中 有String 和StringBUffer

String 长度不可变

StringBuffer长度可变

String相加 原来的不变

可变不可变的意思是说

你新建一个String型的 你第一次使用呢 他就给你分配那么长的内存堆栈 不可变长度的

你要给他重新赋值了呢 他是重新开辟了一块内存空间指针指向他

原来的内存空间 会被gc() 垃圾回收掉 这样消耗系统内存

而stringBuffer呢 开辟出来了 长度可变了 你重新赋值了之后还是指向那块内存 只不过长度变了

java string 相加有什么不好

数量大的时候 性能比较差

如:

"a"+"b"

除了new "a"和"b"之外,还会new 一个新的内存空间存放"ab"

少量字符相加看不出什么

当几千甚至上万的字符串相加性能就会比较差了

多字符串相加 用StringBuffer 它的原理是把各字符串连接起来 不会多new 内存空间

java中字符串相加本质到底是怎样的

String s="class"+"java";

操作机制应该是缓冲内存取得内容"class","java",然后存入一个新内存空间

跟原先字符串内存没关系

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。