Java开发常用类总结_02

String类的用法(掌握)

1.普通写法:String str=”字符串”;
2.创建对象写法:String str=new String(“字符串”);
也可以通过该种形式转化为字符串()可填字符串或者是数组
数组是整数类型的话就转化为编码所代表的char字符
Str.getBytes();----将字符串转化为字节数组--逆用
3.实际上字符串在String内部是通过一个char[]数组表示的、因此、按下面的写法也是可以的
4.String str=new String(new char[]{‘字’,’符’,’串’});
字符串的不变性:
1.因为String太常用、所以java提供了第一种字面表示的方式。
2.String类内部通过private final char[]以及没有提供任何修改char[]的方法实现的、所以字符串具有不变性。
String类和基本数据类型的包装类相似但内存空间的存储不相似
字符串不变性的解释:String str=”字符串”;String str2=”字符串”;
(str==str2)、str.equals(str2)效果相同都返回true  str与str2比较的是同一地址值、str.equals(str2)比较的是字符
String类中只要字符串内容相同就认为指向同一地址(字符串存储在常量池中)
包装类的解释:对于包装类只要是通过new创建的Integer s1=new Integer(7)Integer s2=new Integer(7)
(s1==s2)返回false、s1.equals(s2)返回true(s1==s2)比较的是堆内存里的地址值只要通过new创建都认为开辟了新的空间s1.equals(s2)比较的是元素
但是对于自动装箱类型对于Integer s1=400Integer s2==400(s1==s2)返回false、s1.equals(s2)返回true
对于Integer s1=4Integer s2==4(s1==s2)返回false、s1.equals(s2)返回true
解释:自动装箱类型当小于其数据类型的空间存储时认为地址值指向同一空间、大于或等于数据类型的空间存储是和new创建相同   注意new装箱和自动装箱的区别
String类的常用方法
1.(String).char At(int index)返回指定index处的char值
获取指定字符串某一index处的charString str=”ABC”;
char a1=str.char At(0);---A获取第一个字符
index处值满足(0-----length()-1)和数组下标类似
2.(String) .concat(String)将指定的字符串str连接到当前字符串的末尾,并返回此新字符串对象。
字符串的连接
String str1="字符";
String str2=str1.concat("串");
System.out.println(str1);--字符 将串连接到字符后
System.out.println(str2);--字符串
3.(boolean) .contains(CharSequence s)此字符串对象是否包含指定的字符串序列(一般可以认为是字符串)。
判断某一字符串片段是否在另一字符串中
String str1="这是一个字符串";
boolean str2=str1.contains("字符串");
System.out.println(str2);--true
定义boolean类型的变量返回布尔值
4.(boolean) .startsWith(String prefix)判断此字符串是否已指定的前缀开头。
5.(boolean) .endsWith(String suffix)判断此字符串是否已指定的后缀结尾。
String str1="字符串";
boolean b1=str1.startsWith("字");
boolean b2=str1.endsWith("串");
System.out.println(b1);
System.out.println(b2);
6.(boolean) .equals(Object anObject)对此字符串对象与指定对象的内容进行对比。
7.(boolean) .equalslgnore(String anotherString)对此字符串对象与指定对象的内容进行对比(忽略大小写)String str="zifuchuan";
String str2="ZIFUCHUAN";
boolean b=str.equals(str2);//可以填写单个字符’char’
boolean b2=str.equalsIgnoreCase(str2);//忽略大小写不能填写单个字符
System.out.println(b);
System.out.println(b2);
8.(boolean ).isEmpty()此字符串是否为空。
String str="这是一个字符串";
boolean a=str.isEmpty();
System.out.println(a);
9.(int). indexOf(int ch)返回指定字符在字符串对象中首次出现的索引(下标)9.(int). indexOf(String str)返回指定字符串在字符串对象中首次出现的索引(下标)10.(int). lastIndexOf(int ch)返回指定字符在字符串对象最后一次出现的索引(下标)11.(int). lastIndexOf(String str)返回指定字符串在字符串对象中最后一次出现的索引(下标)//符合数组下标
String str="这是一个字符串字符";
int a=str.indexOf('符');//返回第一次出现的下标
int b=str.indexOf("一个字符");//返回字符串第一个字符下标
int c=str.lastIndexOf('符');//返回最后一次出现的字符下标
int d=str.lastIndexOf("字符");//f返回字符串最后出现的第一个字符的下标
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
12.(int). length()返回字符串的长度。
String str="这是一个字符串";
int a=str.length();
System.out.println(a);
14.(String). replace(char oldChar,char newChar)返回使用newChar字符替换oldChar字符之后的新String对象。
15.(String).replace(CharSequence oldString,CharSequence newString)返回使用oldString字符串替换newString字符串之后的新String之后的新String对象。
String str="这是一个字符串";
String str2="字符";
char c1='A';
String str3=str.replace('这',c1);//只能字符替换字符
String str4=str.replace("字符串", str2);//字符串替换字符串
System.out.println(str3);
System.out.println(str4);
16.(String[]).split(String regex)按照给定的字符串或者正则表达式进行字符串的分割。
String str="岁岁年年花相似岁岁年年人不同";
String []strs=str.split("年");//从年分割
for (String s:strs) {
	System.out.println(s);
}
System.out.println();
String []strs2=str.split("年年");
for (String s:strs) {
	System.out.println(s);
}
17.(String).substring(int beninIndex)返回指定起始位置的字符串。
18.(String).substring(int beninIndex,int endIndex)返回指定起始位置,指定结束位置的字符串。
String str="这是一个字符串";
String str2=str.substring(1);//从下标为1的字符位置开始返回
String str3=str.substring(1, 3);//从下标为1的字符开始到下标为3-1的字符结束
System.out.println(str2);
System.out.println(str3);
19.(String).toLowerCase()返回此字符串的小写字符。
20.(String).toUpperCase()返回此字符串的大写形式字符。
String str="ABCabc";
String str2=str.toLowerCase();
String str3=str.toUpperCase();
System.out.println(str2);
System.out.println(str3);
21.(String).trim()返回去掉字符串的前后前后所有空格的新字符串。
String str="   ABCD   ";
String str2=str.trim();
System.out.println(str2);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值