您的位置:首页 > 职场人生

黑马程序员_JAVA基础5_String

2014-09-09 16:04 387 查看
------- android培训java培训、期待与您交流! ----------

常见字符串操作

1.获取

1.1 字符串中包含的字符数,也就是字符串的长度。
          int length():获取长度
1.2 根据位置获取位置上的某个字符。
          char charAt(int index)
1.3 根据字符获取该字符在字符串中的位置。
          int indexOf(int ch):返回的是ch在字符串中第一次出现的位置。
          int indexOf(int ch, int fromIndex) :从fromIndex指定位置开始,获取ch在字符串中的位置。

          int indexOf(String str):返回的是str在字符串中第一次出现的位置。
          int indexOf(String str,
4000
int fromIndex) :从fromIndex指定位置开始,获取str在字符串中的位置。

                    int lastIndexOf(int ch);

2.判断

2.1 字符串中是否包含某一个子串。
          boolean contains(str)
          
          特殊之处:indexOf(str):可以索引str第一次出现的位置,如果返回-1,表示该str不存在字符串中,所以可以用于判断指定子串是否包含。
          if(str.indexOf("aa")!=-1)

2.1 字符中是否有内容。
          boolean isEmpty()
2.3 字符串是否以指定内容开头。
          boolean startsWith(str)
2.4 字符串是否以指定内容结尾。
          boolean endsWith(str)
2.5 判断字符串的内容是否相同,复写了Object类中的equals方法。
          Boolean equals(str);
2.6 判断内容是否相同,并忽略大小写。
          boolean equalsIgnoreCase();

3.转换

3.1 将字符数组转成字符串
     构造函数:String(char[])
                     String(char[],offset,count):将字符数组的一部分转成字符串

     静态方法:
                    static String copyValueOf(char[]);
                    static String copyValueOf(char[] data, int offset,  int  count)

                    static String valueOf(char[]):
3.2 将字符串转成字符数组。
                    char[]  toCharArray():将字符串变成字符数组。
3.3 将字节数组转成字符串。
                    String(byte[])
                    String(byte[],offset,count):将字节数组的一部分转成字符串
3.4 将字符串转成字节数组。
                    byte[]   getBytes()
3.5 将基本数据类型转成字符串。
                    static String valueOf(int)
                    static String valueOf(double)

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

4.替换

String  replace(oldchar,newchar);如果要替换的字符串不存在,返回的还是原串

5.切割
          String[] split(regex);

String s = "zhangshan,lisi,wan"

String[] arr = s.split(",");

6.获取字符串的一部分。

          String  substring(begin);从指定位置到结尾,如果角标不存在,会出现字符串角标越界异常
          String  substring(begin,end);包含头,不包含尾

7.转换, 去除空格, 比较

7.1.将字符串转成大写或小写
          String toUpperCase();
          String toLowerCase();

7.2 将字符串两端多个空格去除
          String trim();

7.3 对两个字符串进行自然顺序的比较
          int compareTo(String);

String s1 =  "abc";//s1是一个类类型变量,“abc“是一个对象, 字符串最大的特点是,一旦被
                    初始化就不可以被改变,改变的只是s1的指向。

String s1 = "abc";

String s2 = new String("abc")

s1和s2的区别?
s1在内存中有一个对象
s2在内存中有两个对象

s1 == s2 false
s1.equals(s2)  ture               //String类复写了object类中的equals方法
                                   该方法用于判断字符串是否相同

StringBuffer字符串缓冲区,
是一个容器
长度可变
可以操作多个数据类型
最终会通过ToString方法变成字符串

1.存储
     StringBuffer  append():将指定数据作为参数添加到已有数据的结尾处
                         insert(index,数据)可以将数据插入到指定index的位置

2.删除
                    StringBuffer  delete(start,end)删除缓冲区中的数据,包含start,不包含end
                                        deleteCharAt(index)删除指定位置的字符 

3.获取
              char  charAt(int index)
               
4.修改
               replace(start ,end,要替换的字符串)
               void setCharAt(int index,  char ch)
5.反转
               reverse()
6.将缓冲区中的数据储存到指定的数组中
               void  getChars(int  srcBegin,  int  srcEnd ,  char[]  dst,  int dstBegin)

StringButter是线程同步
StringBuilder是线程不同步

开发建议使用StringBuild,1.5版之后出现,提高效率,不需判断锁

Java升级3要素
提高效率
简化书写
提高安全性

基本数据类型对象包装类

byte          Byte
short         Short
int             Interger
long           Long
boolean     Boolean
float          Float
double       Double
char          Character

基本数据类型对象包装类的最常见作用
就是用于基本数据类型和字符串类型之间做转换

基本数据类型转字符串

基本数据类型+""

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

如  Integer.toString(34);将34整数变成"34"

字符串转基本数据类型

xxx  a =  Xxx.parseXxx(String);

int  a  =  Integer.parseInt("123");//必须传入数字格式字符串

double b = Double.parseDouble("12.34");

boolean b = Boolean.parseBoolean("true");

十进制转其他进制

toBinaryString();
toHexString();
toOctalString();

其他进制转成十进制

Integer.parseInt(字符串,进制)

Integer x = 4;
x = x + 2;自动拆箱,变成int类型,和2进行加法运算,再将和进行装箱赋给x

Integer m =  128;
Integer n  =  128;

m == n ;flase

Integer  a =  127;
Integer b  =  127;

a == b ; true

当数值在byte范围时,对于新特性,如果该数值已经存在,则不会再开辟新的空间
所以,a,b指向同一个Integer对象,m,n指向不同Integer对象
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  String