String类的私有属性value 怎么初始化的

来源:互联网 发布:淘宝店铺上新模板 编辑:程序博客网 时间:2024/06/05 08:29

String类的私有属性value 怎么初始化的 [问题点数:100分,结帖人u014227743]

 收藏
stringsubstring
             String a = "abcd";
             System.out.println(a.substring(0,2));  //ab
                      substring 返回 new String(value,beginIndex, subLen);
                       value 怎么初始化的


               
  •  
  •  
发表于: 2016-01-06 15:56:07 楼主
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
回复次数:4
官方推荐
  • Python Crash Course
  • Java数据结构与算法解析(一)——表
  • 关注CSDN程序人生公众号,轻松获得下载积分
  • 微信小程序 VS 原生App
  • 操作系统OEM DIY工具
  • 一小时学会搭建网站
  • 迅捷全站功能模块
  • P2P3.01局域网管理软件
  • 聊天机器人2002
  • 手册提供了完整的 CSS2.0 的属性(Properties)、规则(At-Rules)、伪类(Pseudo-Classes)、伪元素(Pseudo-Elements)、声明(Declarations)、单位(Units)、选择符(Selectors)的介绍。其内容涵括了 W3C 的 CSS2.0 标准,以及 Internet Explorer 和 Netscape 各自的私有内容。出于种种众所周知的原因考虑,本手册以浏览器的事实标准—— Internet Explorer 为主。
可以看看源码呀。
String本身存字符串,就是通过char[]实现的,subString也只是截取数组不同位置的字符,再组合成新字符串对象的char[]
另外,jdk1.6和jdk1.7+的subString实现方式还不太一样,LZ有兴趣可以对比两个版本的源码
回复于: 2016-01-06 17:27:34#1 得分:0
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
引用 1 楼 oh_Maxy 的回复:
可以看看源码呀。
String本身存字符串,就是通过char[]实现的,subString也只是截取数组不同位置的字符,再组合成新字符串对象的char[]
另外,jdk1.6和jdk1.7+的subString实现方式还不太一样,LZ有兴趣可以对比两个版本的源码

String源码中char[]  value 是啥时初始化的 还是没看懂
回复于: 2016-01-07 09:12:42#2 得分:0
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
引用 1 楼 oh_Maxy 的回复:
可以看看源码呀。
String本身存字符串,就是通过char[]实现的,subString也只是截取数组不同位置的字符,再组合成新字符串对象的char[]
另外,jdk1.6和jdk1.7+的subString实现方式还不太一样,LZ有兴趣可以对比两个版本的源码

String a = "123" 此时没有调用String的构造器  value应该没值啊
回复于: 2016-01-07 09:12:34#3 得分:0
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
引用 3 楼 u014227743 的回复:
Quote: 引用 1 楼 oh_Maxy 的回复:
可以看看源码呀。
String本身存字符串,就是通过char[]实现的,subString也只是截取数组不同位置的字符,再组合成新字符串对象的char[]
另外,jdk1.6和jdk1.7+的subString实现方式还不太一样,LZ有兴趣可以对比两个版本的源码

String a = "123" 此时没有调用String的构造器  value应该没值啊
这里"123"是一个字符串常量,存在栈里的,和new String("123")是不一样的(这就是为什么String a="123";String b="123"; a == b为true的原因)。
当你"123".subString的时候,会将"123"隐式的达到new String("123")的效果。
简单理解,可以当做一种自动装箱的感觉。
原创粉丝点击