当前位置: 首页 > news >正文

遵义公司做网站找哪个公司好整站排名优化公司

遵义公司做网站找哪个公司好,整站排名优化公司,网页设计与制作对于大数据专业,珠海网络公司有哪些String类1.String类1.1 特性1.2 面试题1.3 常用方法1.4 String与其他类型之间的转换2. StringBuilder类、StringBuffer类#xff1a;可变字符序列1.String类 1.1 特性 String类为final类#xff0c;不可被继承#xff0c;代表不可变的字符序列#xff1b; 实现了Serializ… String类1.String类1.1 特性1.2 面试题1.3 常用方法1.4 String与其他类型之间的转换2. StringBuilder类、StringBuffer类可变字符序列1.String类 1.1 特性 String类为final类不可被继承代表不可变的字符序列 实现了Serializable接口表示字符串支持序列化 实现了Comparable接口表示字符串可比较大小 String对象的字符内容是存储在内部的final char型数组value中的该数组不可再赋值其元素也不能再改变 字符串是常量用双引号表示具有不可变性其值在创建之后不能改变体现 1当对字符串引用重新赋值时需重新开辟内存区域进行赋值不能使用原有的value数组进行赋值 2当对现有字符串进行拼接操作时需重新开辟内存区域进行赋值不能使用原有的value数组进行赋值 3当使用replace方法对字符串内容进行修改时需重新开辟内存区域进行赋值不能使用原有的value数组进行赋值 通过字面量的方式区别于new给一个字符串引用赋值该字符串值声明在字符串常量池中 字符串常量池不会存储相同内容的字符串 1.2 面试题 面试题1 通过1字面量方式声明变量2new String(“xxx”)的方式声明变量的区别 字符串常量存储在方法区的字符串常量池中目的是共享 字符串非常量对象存储在堆中 面试题2 String snew String(“abc”)方式创建对象在内存中创建了几个对象 1堆空间中的new 结构2value数组对应的字符串常量池中的数据abc 面试题3 final 修饰的字符串变量为常量存储在常量池 结论通过不同的字面量赋值方式进行变量声明有什么区别 如果只是不同字面量的拼接则拼接结果在常量池一旦拼接对象涉及到变量则拼接结果在堆中如果拼接结果调用intern()入池方法则方法返回值在常量池中 1.3 常用方法 int compareTo(String anotherString)该方法返回值有3中可能比如当前串.compareTo(“被比较串”) 0表示两个字符串内容相等0表示当前串大于被比较串0表示当前串小于被比较串 indexOf(str)和lastIndexOf(str)的返回值什么情况下相等 case1原始串中只有一个strcase2str不存在返回值均为-1 regex是正则表达式比较复杂 之前一个坑点就是split时如果以反斜杠进行分割在regex中切记使用\\\\四个反斜杠 1.4 String与其他类型之间的转换 1.基本数据类型与String之间的转换 String-基本数据类型借助基本数据类型对应的包装类中的包装类.parse类型字符串实现比如Integer.parseInt(“123”) 基本数据类型-String使用String.valueOf(数据)实现如String.valueOf(123) 2.字符串数组与String之间的转换 一般Java中涉及到区间均为左闭右开区间 3.Byte数组与String之间的转换 此处需要注意不同的编码集所表现的效果可能不同 字节数组-字符串时可指定解码的字符集使用new String(byte[],String charsetName) 编写程序时需要注意编码字符集与解码字符集需要保持一致否则会出现乱码 2. StringBuilder类、StringBuffer类可变字符序列 String、StringBuilder、StringBuffer三者的相同点与不同点 不同点 String不可变的字符序列 StringBuffer可变的字符序列线程安全效率低JDK5.0 StringBuilder可变的字符序列线程不安全效率高JDK5.0新增的类 相同点 均与字符串操作相关且底层均使用char型数组存储数据 StringBuilder/StringBuffer内容可变的原因 使用无参构造StringBuilder()时会默认开辟长度为16的char型数组value用于后续进行数据添加 使用有参构造StringBuilder(String str)时会开辟长度为str.length()16的char型数组value用于后续进行数据添加 在数据append时发现此时的value数组不足以存储数据则需要进行数组扩容操作1默认将数组容量扩充到原始大小的2倍22将数组原始内容复制到扩充后的数组中 已知可变字符序列在内容新增时可能出现数组扩容操作而扩容操作涉及到数组内容复制效率较低故我们在使用StringBuilder/StringBuffer时可以在最开始实例化对象时使用有参构造StringBuilder(int capacity)在最开始就创建一个大小合适的value数组尽量避免数组扩容带来的负面影响。 StringBuilder/StringBuffer常用方法 二者提供的方法一致其使用方法统一区别在于StringBuffer线程安全 三者效率关系 StringBuilderStringBufferString 资料来源尚硅谷
http://www.w-s-a.com/news/297/

相关文章:

  • 商城网站设计费用网络公司怎样推广网站
  • 视频公司的网站设计工图网
  • 免费快速网站十八个免费的舆情网站