您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
【第5章:面向对象基础】_String类的常用方法笔记
发布时间:2020-12-05 12:22:55编辑:雪饮阅读()
toCharArray
将字符串变为字符数组
public class TestJava{
public static void main(String args[]){
String str="hello";
char c[]=str.toCharArray();
for(char x:c){
System.out.println(x);
}
}
}
输出如:
D:\>javac TestJava.java
D:\>java TestJava
h
e
l
l
o
通过实例化String类的不同构造方法将字符数组转换为字符串或者字符数组的部分元素转换为字符串
public class TestJava{
public static void main(String args[]){
String str="hello";
char c[]=str.toCharArray();
String str2=new String(c);
String str3=new String(c,0,3);
System.out.println(str2);
System.out.println(str3);
}
}
D:\>javac TestJava.java
D:\>java TestJava
hello
hel
第二种构造方法的第三个参数不是索引,而是要取的长度
charAt
通过接收一个索引来获取字符串中指定索引的值
public class TestJava{
public static void main(String args[]){
String str="hello";
System.out.println(str.charAt(2));
}
}
输出如
D:\>javac TestJava.java
D:\>java TestJava
l
getBytes
用字符串自身调用该函数可以获得该字符串的字节数组的表现形式。
public class TestJava{
public static void main(String args[]){
String str="hello";
for(byte x : str.getBytes()){
System.out.println(x);
}
}
}
输出如:
D:\>javac TestJava.java
D:\>java TestJava
104
101
108
108
111
从结果中可以看到这里总共有5个字符,而每个字符对应一个字节的显示,但是h对应的是104?一个字节不是等于8个二进制位吗?原来这里是8个二进制位转换为10进制后显示。
通过String类不同的构造函数也可以将字节数组转换为字符串或者字节数组的部分元素转换为字符串。
public class TestJava{
public static void main(String args[]){
String str="hello";
byte b[]=str.getBytes();
System.out.println(new String(b));
System.out.println(new String(b,1,3));
}
}
输出结果如:
D:\>javac TestJava.java
D:\>java TestJava
hello
ell
length
获取字符串长度
可不能与数组的length混淆,数组的length只是属性,而String的length则是方法
public class TestJava{
public static void main(String args[]){
String str="hello";
System.out.println(str.length());
}
}
输出如:
D:\>javac TestJava.java
D:\>java TestJava
5
indexOf
接收一个索引值返回该字符串中该索引的字符
public class TestJava{
public static void main(String args[]){
String str="hello";
System.out.println(str.indexOf("l"));
}
}
输出结果:
D:\>javac TestJava.java
D:\>java TestJava
2
trim
去除字符串两边的空格
public class TestJava{
public static void main(String args[]){
String str=" he llo ";
System.out.println(str.trim());
}
}
输出如:
D:\>javac TestJava.java
D:\>java TestJava
he llo
substring
接收一个索引值值,则从该索引开始截取到字符串结束为止。接收两个参数,则是从第一个参数开始截取,直到达第二个参数结束截取。第二个参数并非是截取长度,而是结束截取的索引。
public class TestJava{
public static void main(String args[]){
String str="hello world";
System.out.println(str.substring(6));
System.out.println(str.substring(0,5));
}
}
D:\>javac TestJava.java
D:\>java TestJava
world
hello
split
接收一个分隔符,将字符串分割为字符串数组/子字符串数组
public class TestJava{
public static void main(String args[]){
String str="hello world";
String s[]=str.split(" ");
for(String x : s){
System.out.println(x);
}
}
}
D:\>javac TestJava.java
D:\>java TestJava
hello
world
字符串大小写转换
public class TestJava{
public static void main(String args[]){
String str="hello world";
String str1="SNOW DRINK";
System.out.println(str.toUpperCase());
System.out.println(str.toLowerCase());
}
}
输出如:
D:\>java TestJava
HELLO WORLD
hello world
字符串的开头与结尾判断
public class TestJava{
public static void main(String args[]){
String str="***hello world";
String str1="SNOW DRINK***";
if(str.startsWith("**")){
System.out.println(str+"以**开头");
}
if(str1.endsWith("**")){
System.out.println(str1+"以**结尾");
}
}
}
输出结果如:
D:\>java TestJava
***hello world以**开头
SNOW DRINK***以**结尾
D:\>
equalsIgnoreCase
字符串比较,不区分大小写
public class TestJava{
public static void main(String args[]){
System.out.println("sword".equals("SWORD"));
System.out.println("sword".equalsIgnoreCase("SWORD"));
}
}
输出如:
D:\>javac TestJava.java
D:\>java TestJava
false
true
replaceAll
接收搜索字符串、替换后字符串,然后对该字符串进行搜索到的所有结果都替换。
public class TestJava{
public static void main(String args[]){
System.out.println("oto".replaceAll("o","太认真是杠精?撩妹达人是渣男?太偏宠是舔狗?"));
}
}
输出如:
关键字词:String,常用方法,startsWith