碎碎念

这是一道老生常谈的问题了,字符串是不仅是 Java 中非常重要的一个对象,它在其他语言中也存在。比如 C++、Visual Basic、C# 等。字符串使用 String 来表示,字符串一旦被创建出来就不会被修改,当你想修改 StringBuffer 或者是 StringBuilder,出于效率的考量,虽然 String 可以通过 + 来创建多个对象达到字符串拼接的效果,但是这种拼接的效率相比 StringBuffer 和 StringBuilder,那就是心有余而力不足了。本篇文章我们一起来深入了解一下这三个对象。

简单认识这三个对象

String

String 表示的就是 Java 中的字符串,我们日常开发用到的使用 "" 双引号包围的数都是字符串的实例。String 类其实是通过 char 数组来保存字符串的。下面是一个典型的字符串的声明

String s = "abc";

上面你创建了一个名为 abc 的字符串。

字符串是恒定的,一旦创建出来就不会被修改,怎么理解这句话?我们可以看下 String 源码的声明

告诉我你看到了什么?String 对象是由final 修饰的,一旦使用 final 修饰的类不能被继承、方法不能被重写、属性不能被修改。而且 String 不只只有类是 final 的,它其中的方法也是由 final 修饰的,换句话说,Sring 类就是一个典型的 Immutable 类。也由于 String

最新文章

  1. c++中的lambda特性
  2. Spring中常用类型的bean配置(Map,List,Set,基本类型)
  3. android opengl es代码功能
  4. jQuery操作列表数据转成Json再输出为html dom树
  5. ios中通知的简单使用
  6. C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe
  7. python的闭包与装饰器
  8. Canopy v. 1.5.5 ubuntu安装流程
  9. Unity中Instantiate一个prefab时需要注意的问题
  10. C语言单向链表
  11. 选择 25k 的 996 还是 18k 的 965
  12. 关于mirai的一些研究
  13. 洛谷 P1739 表达式括号匹配
  14. Linux - 7种运行级别
  15. ES5和ES6对象导出和导入(转载,待整理)
  16. Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds
  17. Jmeter如何提取响应头部的JSESSIONID
  18. hibernateTemplate API
  19. SQLServer DBA 三十问
  20. 【转】【OPenGL】opengl 64位 配置 freeglutx64下载

热门文章

  1. .Net Core3.0 WebApi 项目框架搭建 五: 轻量型ORM+异步泛型仓储
  2. HashMap基本介绍
  3. Git基本操作命令合集
  4. 为什么Tableviewcell创建时可以不判空
  5. poj2699 转化为可行性判定问题+二分枚举+最大流
  6. airflow的安装和使用 - 完全版
  7. MSC添加shard节点
  8. 不可不知的 7 个 JDK 命令
  9. xshell行号显示
  10. Asp.net core logging 日志