• 简介  

  String最为java中最重要的数据类型。字符串是软件开发中最重要的对象之一,通常,字符串对象在内存中总是占据着最大的空间块。所以,高效处理字符串,将提高系统的整个性能。  

  在java语言中,String对象可以认为是char数组的衍生和进一步的封装。它的主要组成部分是:char数组、偏移量和string的长度。char数组表示string的内容,它是string对象所表示字符串的超集。String的真实内容还需要偏移量和长度在这个char数组中进一步定位和截取。(查看java源代码可以看到char数组、偏移量和长度定义)

  String对象的三个基本特点:

  1、不变性;String对象一旦生成,则不能对它进行改变。String对象的这个特性可以泛指为不变模式,即一个对象的状态在对象被创建之后就不再发生变化。另外多说一点,不变模式主要作用在当一个对象需要被多线程共享,并且访问频繁时,可以省略同步和锁的等待时间,从而大幅度的提高系统的性能。

  2、针对常量池的优化;当两个string对象拥有相同的值的时候,他们只引用常量池中同一个拷贝。当同一个字符串反复出现时,可以大幅度的节省内存空间。

  3、类的final的定义。final类的String对象在系统中不可能有任何子类,这是对系统安全性的保护。

  String 类包括的方法可用于检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本并将所有字符全部转换为大写或小写等,熟练使用这些方法在企业开发中会有很大的帮助。

  • 截取子字符串

  截取子字符串是java中最常用的操作之一,在java中提供了两个截取子字符串的方法:

1 substring(int beginIndex, int endIndex)
2 substring(int beginIndex)

  查看substring(int beginIndex, int endIndex)的源码:

 1 public String substring(int beginIndex, int endIndex) {
 2         if (beginIndex < 0) {
 3             throw new StringIndexOutOfBoundsException(beginIndex);
 4         }
 5         if (endIndex > value.length) {
 6             throw new StringIndexOutOfBoundsException(endIndex);
 7         }
 8         int subLen = endIndex - beginIndex;
 9         if (subLen < 0) {
10             throw new StringIndexOutOfBoundsException(subLen);
11         }
12         return ((beginIndex == 0) && (endIndex == value.length)) ? this
13                 : new String(value, beginIndex, subLen);
14     }
View Code

相关文章:

  • 2022-12-23
  • 2021-12-19
  • 2022-12-23
  • 2022-01-26
  • 2022-03-11
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-28
  • 2022-01-14
  • 2022-12-23
  • 2021-09-16
  • 2022-12-23
  • 2021-12-15
  • 2022-12-23
相关资源
相似解决方案