黑马程序员----String类

来源:互联网 发布:淘宝账号15万贷款 编辑:程序博客网 时间:2024/04/28 05:19

---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------

1、String类

String类代表字符串。

字符串是一个特殊的对象。

字符串最大的特点:一旦被初始化就不可以被改变。

String类复写了Object类中的equals方法,该方法用于判断字符串是否相同。

String s1 = "abc";

String s2 = new String("abc");

s2和s1有什么区别?

s1在内存中有一个对象。s2在内存中有两个对象。


String类适用于描述字符串事物。那么它就提供了多个方法对字符串进行操作。

2、字符串常见的操作有哪些?

2.1、获取。

1、字符串中包含的字符数,也就是字符串的长度。 int length(): 获取长度。

2、根据位置获取位置上的某个字符。

     char  charAt (int  index);

3、根据字符获取该字符在字符串中的位置。

int  indexOf (int  ch) ;   

int  indexOf (String str) ;   

int  indexOf (String str , int  index) ;   

2.2、判断。

1、字符串中是否包含某一个子串。

boolean contains(str);

2、字符串中是否有内容。

boolean isEmpty();    原理就是判断str.length()是否为零。

3、字符串是否是以指定内容开头。

boolean startsWith(str);

4、字符串是否是以指定内容结尾。

boolean endsWith(str);

5、判断字符串的内容是否相同。

boolean equals(str);

6、判断内容是否相同,并忽略大小写。

boolean equalsIgnoreCase();

2.3、转换

1、将字符数组转成字符串。

构造函数:String(char [ ])

    String(char [ ] , offset, count )     将字符数组中的一部分转成字符串。

静态方法:

static String copyValueOf( char [ ] );

static String valueOf ( char [ ] ) ;

2、将字符数组转成字符数组。

char [ ]   toCharArray( );

3、将字节数组转成字符串。

String(byte [ ] )

String(byte [ ], offset, count )

4、将字符串转成字节数组。

byte [ ]  getBytes( )

5、将基本数据类型转成字符串。

static  String  valueOf( int )

static  String  valueOf( double)

特殊:字符串和字节数组在转换过程中,是可以指定编码表的。

2.4、替换

String replace ( char   oldchar, char   newchar);

2.5、切割

String [ ]  split (regex)

2.6、获取子串

String substring(begin)

String substring(begin , end)     该子字符串从指定的 begin 处开始, 到指定的 end  - 1处结束

2.7、转换 ,去除空格,比较

1、将字符串转成大写或小写。

String toUpperCase()

String toLowerCase()

2、将字符串两端的多个空格去除。

String trim()

3、对两个字符串进行自然顺序的比较。

int compareTo( string )

3、StringBuffer

StringBuffer是字符串缓冲区,是一个容器。特点:长度是可以变化的;可以操作多个数据类型;最终会通过toString方法变成字符串。

3.1、存储

StringBuffer  append():  将指定数据作为参数添加到已有数据结尾处。

StringBuffer  insert(index  , 数据) :可以将数据插入到index位置。

3.2、删除

StringBuffer  delete (start , end ) :删除缓冲区中的数据,包含start,不包含end。

StringBuffer  deleteCharAt( index ) :删除指定位置的数据。

3.3、获取

char  charAt(int  index)

int  indexOf(String str)

int  lastIndexOf(String str)

String  subString (int  start, int  end)

int  length()

3.4、修改

void  setCharAt(int index, char c)

StringBuffer  replace(int  start, int  end,  String str)

3.5、反转

StringBuffer  reverse()

3.6、  void  getChars (int srcBegin ,int srcEnd, char [ ]  dst,  int  dstBegin)


JDK1.5版本之后出现了StringBuilder。

StringBuffer是线程同步。

StringBuilder是线程不同步的。

多线程用StringBuffer,单线程用StringBuilder,效率高。

java升级主要考虑三个因素:效率高,简化书写,安全性。

4、基本数据类型对象包装类。

基本数据类型  引用数据类型

byte      Byte   

short short

int integer

long Long

boolean Boolean

double Double

float Float

char Character

基本数据类型对象包装类的最常见作用:用于基本数据类型和字符串类型之间进行转换。


基本数据类型转成字符串:

基本数据类型 +  “”

基本数据类型.toString(基本数据类型值)

字符串转成基本数据类型:

Xxx  a  =  Xxx.parseXxx( String str );

Integer.parseInt( "123" );

Long.parseLong( "123" );

boolean  b = Boolean.parseBoolean(String str);

自动装箱,自动拆箱。

当数值在byte范围内时,对于新特性,如果该数值已经存在,则不会再开辟新的空间。


---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net