黑马程序员——String类中常用方法总结

来源:互联网 发布:企业目录搜索软件 编辑:程序博客网 时间:2024/05/17 23:53
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

String类中常用方法总结

在Java程序中,对字符串的操作十分常见。String类的方法也非常多,用法十分灵活,熟知不同方法的应用能够使我们对字符串的操作更加得心应手。

 char  charAt(int index)

作用:返回指定索引处的char值。

代码:

<strong>String str1 = "abc";char ans = str1.charAt(1);System.out.println(ans);</strong>

结果:b

解析:返回str1第1位处的值,即“b”。

String  concat(String str)

作用:将指定字符串连接到此字符串的结尾。

代码:

String str1 = "abc";String str2 = "def";String str3 = str1.concat(str2);System.out.println(str3);

结果:abcdef

解析:将str1和str2两个字符串相连接,得到“abcdef”。由于字符串支持“+”连接,所以str1.concat(str2)等价于str1+str2,两者效果相同。一般使用 “str1+str2”更多一些。

 boolean  contains(CharSequence s)

作用:当且仅当此字符串包含指定的 char 值序列时,返回 true。

代码:

String str1 = "abc";boolean ans1 = str1.contains("a");boolean ans2 = str1.contains("e");boolean ans3 = str1.contains("ab");boolean ans4 = str1.contains("ac");System.out.println(ans1);System.out.println(ans2);System.out.println(ans3);System.out.println(ans4);

结果:true     false        true         false

解析:判断字符串是否包含的char值序列,我的理解是“char值序列”就是指字符串,所以应该使用双引号而不是使用单引号。

boolean  endsWith(String suffix)

作用: 测试此字符串是否以指定的后缀结束。

代码:

String str1 = "HelloWorld.java";String str2 = "HelloWorld.txt";boolean ans1 = str1.endsWith(".java");boolean ans2 = str2.endsWith(".java");System.out.println(ans1);System.out.println(ans2);

答案:true     false

解析:此方法常用于判断文件类型,即文件的后缀名是什么,所以在文件操作时常用到,很实用,上述代码就是获取“.java”文件。

扩展:与该方法相对应的是boolean startsWith(String prefix), 测试此字符串是否以指定的后缀结束。不再作详细介绍。

boolean  equals(Object anObject)

作用: 将此字符串与指定的对象比较。

代码:

String str1 = new String("HelloWorld");String str2 = new String("HelloWorld");boolean ans1 = (str1 == str2);boolean ans2 = str1.equals(str2);System.out.println(ans1);System.out.println(ans2);

答案:false    true

解析:由“new”关键字可知,str1和str2是String类实例化出的两个对象,两者并不相同。所以“str1 == str2”的值为false,但两个对象的值相同,都为“HelloWorld”,所以“str1.equals(str2)”的值为true。

int  length()

作用:返回此字符串的长度。

代码:

String str1 = "abc";String str2 = "";int len1 = str1.length();int len2 = str2.length();System.out.println(len1);System.out.println(len2);

答案:3         0

解析:无论字符串中包含的是中文还是英文,都被认定为1个字符。如果str =null会怎么样呢?系统会报出 “NullPointerException”,即:空指针异常。声明了str,并在内存里申请了一个地址,但是该地址不指向任何引用地址,也就是说str没有指向任何对象,所以不存在“长度”。

boolean  isEmpty()

作用:当且仅当length()为0时返回 true。

代码:

String str1 = "abc";String str2 = "";boolean ans1 = str1.isEmpty();boolean ans2 = str2.isEmpty();System.out.println(ans1);System.out.println(ans2);

答案:false    true

解析:这个方法依赖于length()方法,所以很好理解。同样的当str = null时也会报出空指针异常。

int  indexOf(int ch)

作用: 返回指定字符在此字符串中第一次出现处的索引。

代码:

String str = "abcabc";int ans1 = str.indexOf('c');int ans2 = str.indexOf('e');System.out.println(ans1);System.out.println(ans2);

答案:2         -1

解析:“c”在str中一共出现了两次,获取第一次出现的位置。“e”在str中没有出现过,则返回-1。

扩展:与该方法相对应的是int lastIndexOf(int ch),返回指定字符在此字符串中最后一次出现处的索引。不再作详细介绍。

String  substring(int beginIndex, int endIndex)

作用:返回一个新字符串,它是此字符串的一个子字符串。从下标beginIndex处开始,到endIndex-1处结束。

代码:

String str = "HelloWorld";String newStr = str.substring(2, 5);System.out.println(newStr);

答案:llo

解析:从第2位开始,到第4位结束,即:“取左不取右”,这一点需要注意。str不改变,仍然为“HelloWorld”。

扩展:String substring(int beginIndex)在没有结束下标的情况下,默认结束下标为字符串的长度,即:函数功能为从开始下标取到结尾。

(1)String  toLowerCase()              (2)String  toUpperCase()

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

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

代码:

String str = "HelloWorld";String lowerStr = str.toLowerCase();String upperStr = str.toUpperCase();System.out.println(lowerStr);System.out.println(upperStr);

答案:helloworld         HELLOWORLD

解析:不需要解析。

String  trim()

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

代码:
String str = "         HelloWorld       ";String newStr = str.trim();System.out.println("["+str+"]");System.out.println("["+newStr+"]");

答案:[         HelloWorld       ]               [HelloWorld]

解析:常用于用户名验证。

结语:String类中的方法还有一部分也很重要,如:toCharArray(),valueOf()等,在此不便一一列举,多查看API文档就可以学习这些知识。

 



0 0
原创粉丝点击