java支持两种常见的方法创建字符串

String s1 = new String("abc");
String s2 = "abc";

两种方法都有什么区别呢 内存图如下

1,S1首先查看字符串 abc 是否存在字符串常量池中,如果存在则直接指向,不存在,则创建一个

2,S2 查看常量池中 abc 是否存在,结果已经存在了,就直接指向引用了

区别

    前者s1 创建了两个对象 堆内存中的new String 和 字符串常量区的 abc

    s2只创建了一个对象 abc 如果存在 abc 那就一个对象也没创建

同时 String s = "abc";

字符串 abc作为一个对象也可以调用String类的方法

转载于:https://blog.51cto.com/firrty/1729726

java中String的特点,字面对象和构造方法的区别相关推荐

  1. 2.Java中String,StringBuilder以及StringBuffer的关系与区别

    String     StringBuffer     StringBuilder String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费大量 ...

  2. java中String对象和String变量

    2019独角兽企业重金招聘Python工程师标准>>> java中String对象和String变量 (2011-12-27 20:40:27) 转载▼ 标签: it 最近在论坛上看 ...

  3. java中String对象作为参数传递问题

    问题 java中将对象作为参数传递究竟是值传递还是引用传递? 1.基本类型作为参数传递时,是传递值的拷贝,无论你怎么改变这个拷贝,原值是不会改变的. 2.对象作为参数传递时,是把对象在内存中的地址拷贝 ...

  4. Java中String对象的replaceAll方法调用性能优化小技巧

    Java中String对象的replaceAll方法调用性能优化小技巧 0x01 Java中String对象的replaceAll方法调用性能优化小技巧 1.1 What? 1.2 Why? 1.3 ...

  5. JAVA中string.replace()和string.replaceAll()的区别及用法 数据库中[]转义

    JAVA中string.replace()和string.replaceAll()的区别及用法 乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),replac ...

  6. java中String new和直接赋值的区别

        Java中String new和直接赋值的区别     对于字符串:其对象的引用都是存储在栈中的,如果是编译期已经创建好(直接用双引号定义的)的就存储在常量池中,如果是运行期(new出来的)才 ...

  7. java中String的常用方法

    java中String的常用方法 1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int len ...

  8. java中字符串的创建_【转载】 Java中String类型的两种创建方式

    本文转载自 https://www.cnblogs.com/fguozhu/articles/2661055.html Java中String是一个特殊的包装类数据有两种创建形式: String s ...

  9. Java中String类的方法及说明

    String : 字符串类型 一.构造函数      String(byte[ ] bytes):通过byte数组构造字符串对象.      String(char[ ] value):通过char数 ...

  10. 如何理解java中String的不可变性

    文章目录 问题 String类的声明 final关键字的作用 String的不变性 String的不变性有哪些好处 String真的是绝对不可变吗 问题 为什么大家都在说String是不可变的? St ...

最新文章

  1. 关于变量在循环内声明还是在循环外声明
  2. 截取两个标签之间的文本
  3. 输入任意长度的字符串,反向输出(递归)
  4. Vue基础之事件处理器
  5. linux急救模式_抢救Linux! Windows XP支持今天终止
  6. 上岸 | 青椒博士毕业后未返校任教,被判返还高校41万余元
  7. 运用Java对微信公众平台二次开发技术——开发者模式接入
  8. 设置屏幕横屏_android设置横屏和竖屏的两种方法
  9. macOS装机必备(软件测试人员)
  10. 用 Web 技术为 Safari 编写扩展
  11. 刷计算机应用教程,电脑怎么用Word格式刷?电脑使用Word格式刷的方法
  12. python脚本课程_python选课脚本
  13. java内存溢出定位
  14. 计算机设备统计报告,2017年1-12月通信设备、计算机及其他电子设备制造业增加值统计分析...
  15. 10分钟轻松定制网站日志分析大盘
  16. 指尖检测的新方法几种
  17. 变频电源是否要加功率补偿器?为什么?
  18. 服务器网口修改为百兆,服务器千兆网口能否设置为百兆
  19. layui table勾选框的修改_Layui默认选中table的CheckBox复选框方法_飛雲_前端开发者...
  20. 启用数据空间:让VirtualBox虚拟机中的Ubuntu 10.10和XP主机互通有无

热门文章

  1. 对包含HttpContext.Current.Cache的代码进行单元测试
  2. Linux下的.NET之旅:第一站,CentOS+Mono+Xsp构建最简单的ASP.NET服务器
  3. SQL server 2008配置与用户名登录
  4. Python网络编程、爬虫之requests模块使用
  5. openfire源码解读--用户登录
  6. 奇怪吸引子---Rucklidge
  7. 各种说明方法的答题格式_各种轴承安装方法说明及注意事项,避免这些坑提高轴承寿命...
  8. raid5坏了一块盘怎么办_如果你的硬盘坏了 你的照片还能找回来吗?
  9. Java跨域问题以及如何使用Cors解决前后端 分离部署项目所遇到的跨域问题
  10. 洛谷——P1744 采购特价商品