现在的位置: 首页 > 综合 > 正文

黑马程序员_String类的学习

2014年08月18日 ⁄ 综合 ⁄ 共 2633字 ⁄ 字号 评论关闭

------- android培训java培训、期待与您交流! ----------

String

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

字符串最大的特点是:一旦被初始化就不可以被改变,是一个常量

 

字符串有两种创建方式:

String s2 = new String("dsfa");
		
String ss = "dsfa";

s2与ss的区别:

ss代表一个对象。s2有两个对象。

"dsfa"是一个对象,s2本身又是一个对象。

字符串的创建与比较。

 

String s = "abc";

String s1 = newString();

String s3 = "abc";

当一个字符串已经在内存中存在时候,有了自己的地址,

当另一个字符串发现已经有字符串在内存,就不去重新开辟空间

使用原来的地址。节省了空间。所以s==s3 为true s==s1为false

String类的学习

String类适用于描述字符串事物。

那么他就提供了多个方法对字符串进行操作。     

常见的操作:

1.获取

1.获取

String s =  "dsafs";

System.out.println(s.length());//长度

System.out.println(s.charAt(2));//根据为是获取某个字符

       System.out.println(s.indexOf('s'));//根据字符返回一个字符

       //在字符串中第一次出现的位置的索引

      

       System.out.println(s.indexOf('s',3));//从指定的位置开始去

       //得到字符第一次在字符串中出现的位置。

      

       System.out.println(s.indexOf("safs"));

       System.out.println(s.indexOf("safs",2));

      

       //返回的是字符串的位置,其他的与上边字符一致。

 

如果没有找到,就返回-1;

 

s.lastIndexOf(s);反向索引。

也就是从最后一个位置往前找。但是它返回的角标不会变化。角标从左边0开始。

 

2.判断

 s.startsWith("ds")//字符串是否以“ds”为开头。

s.endsWith("fs")     //字符串是否以“fs”为结尾。

//上边的方法比较重要,一般在判断某个字符串是否以.java .txt,从而得到其

字符串所对应文件的类型。

 

s.isEmpty()  //字符串是否为空。

s.contains("sa")//是否包含某个字符串。

特殊之处,indexOf(Str)可以索引str第一次出现的位置,如果返回-1,表示该str不在字符串中存在。所以,可以用于对指定字符串的包含判断。

s.equals("af"),复写了Objectequals方法。字符串是否相等。

 

s.equalsIgnoreCase("dsa"),判断字符串是否相等,并且忽略大小写字符。

 

 

3.转换

  将字符数组转成字符串。

String(char[] value)

将字符数组中的一部分转成字符串。

String(char[]value, int offset, int count)

value - 作为字符源的数组。

offset - 初始偏移量。

count - 长度。

将字符串转成字符数组

char[]  toCharArray()

将字节数组转成字符串

String s3 = newString(arr2,"GBK");

将字符串转成字节数组

byte []arr1 =s.getBytes("GBK");

       byte []arr2 =s.getBytes("UTF-8");

       byte []arr3 =s.getBytes("ISO8859-1");

       f(arr1.length);

       f(arr2.length);

       f(arr3.length);

 

4.替换,将字符串中的字符换成别的字符

String  replace(char oldChar, char newChar)

          返回一个新的字符串,它是通过用newChar
替换此字符串中出现的所有oldChar
得到的

 

十分的要注意,使用replace并不是将原来的字符串修改了,原因是字符串一旦创建就不能被修改。返回一个新创建的字符串。

 

String  replace(CharSequence target, CharSequence replacement)

          使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。

 

5.切割:

  String[] split(String regex)

          根据给定正则表达式的匹配拆分此字符串。

 String[] split(String regex, int limit)

          根据匹配给定的正则表达式来拆分此字符串。

例如:

 String  s="s,a,a,a,d,dd,d,f,fgsfd,fg";

       String []ss=s.split(",") 

 

6,字串

  String  substring(int beginIndex)

          返回一个新的字符串,它是此字符串的一个子字符串。

 String substring(int beginIndex, int endIndex)

          返回一个新字符串,它是此字符串的一个子字符串。

7,转换。

将字符串转成大写或者小写。

String  toLowerCase()

          使用默认语言环境的规则将此String
中的所有字符都转换为小写。

 String toLowerCase(Locale locale)

          使用给定Locale
的规则将此 String
中的所有字符都转换为小写。

String  toUpperCase()

          使用默认语言环境的规则将此String
中的所有字符都转换为大写。

 String toUpperCase(Locale locale)

          使用给定Locale
的规则将此 String
中的所有字符都转换为大写。

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

String trim()

          返回字符串的副本,忽略前导空白和尾部空白。

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

int  compareTo(String anotherString)

          按字典顺序比较两个字符串。

抱歉!评论已关闭.