String

来源:互联网 发布:php源码加密授权 编辑:程序博客网 时间:2024/06/06 07:15

/**

*

* java.lang.String //字符串,字符串一旦被调用,就不能别改变

*         public final class String

*                 private final char[] value

*                 1.提升字符串的访问效率,程序提供了"缓存"技术,所有在"" 中的字符串,都会在方法区中的"常量池"创建一个字符串

*                         对象,然后呢。

*                 2.在程序执行中,如果程序在调用时用到某个字符串,eg"abc" ,程序会现在常量池中搜索,如果有的话,就直接拿过来使用

*                         如果没有,就创建一个(字符串常量池,是一个缓存区)

*                 3.比较两个字符串是否一致,必须使用 equals()

*        

*

*/

  

  

//创建一个字符串对象 "abc" 这个对象的引用为s1 ,

//string 不可改变是指,对象不可改变,就是指对象一旦创建,就不能在改变,但是他的引用可以改变

//引用可以指向其他对象

String s1="abc";

s1="cdef";

  

//会创建三个String 对象,一般不推荐使用"+" 因为一拼接就会生成新的字符串对象。效率比较低

String s2="buhc";

String s3="buhuiaa";

String s4=s2+s3;

  

/**

* 1.区别:

* String s5,只会在字符串常量池中创建一个对象,而new String() 会在常量池中,以及heap 堆中都会创建对象。

*

*/

String s5="abc";

String s6=new String("abc");

  

  

  

常见的字符串操作函数:

  

/**

* char charAt()

* endwith()

* equalsIgnoreCase() 比较两个字符串,但是忽略字符的字母的大小。

* getBytes() 将字符串,转换为字符数组

* indexOf() 子字符串在次字符串中第一次出现的索引

* matchs() 匹配,需要用到正则表达式

* split(String s) 将字符串,以 s 分割,返回的是数组

* boolean startwith() 以什么结尾

* string subString(int length ) 截取字符串的

* string subString(beginIndex,endIndex)

* toUpperCase()

* toLowerCase()

* trim() 去空格

*/

  

/**

* 正则表达式:

*                 1.字符模型,专门做字符串格式匹配的,是通用的

*                 \d 数字

*                 \D 数字

*                 \W 非英文字母

*                 \w 英文字母

*/