Java基础-类(String类、封装类)
目录
- String类
- 封装类
String类
String属于引用数据类型,用来存储字符串。
String定义方法有两种
1.String str=“abc”;
2.String str2=new String(“abc”);
在Java中,String类是用final关键字修饰的,这代表String一旦被赋值就不可改变。
String str1=“abc”;
用“=”直接赋值,str1直接指向方法区中的String字符串常量池中
String str2=new String(“abc”)
用new关键字创建的String对象,str2先指向存储在堆中的String对象的地址,然后再指向字符串常量池中所对应的数据
“==”和equals()
1.在基本数据类型中,“==”比较的是数据的值,而在引用数据类型中比较的是对象的地址
2.equals()用来比较两个字符串的值是否相等

用new创建的String不能用“==”比较值是否相等,每一个用new创建的对象,在堆中都有唯一的属于自己的区域,直接“==”比较的是地址而不是值
String str1=“abc”;
String str2=“abc”;
对于值相等的多个String类型,在内存中不会划分多个区域存储数据,而是直接指向一个相同的数据
String类中的主要常用方法
1、length()
length()方法可以获取字符串的长度(也就是字符串中字符的个数),返回值是int类型
字符串是有下标的
字符串获取长度的方法和数组获取长度有什么区别?
字符串是通过length()方法获得字符串长度的,而数组是通过自身的属性length来获取数组长度的
2、equals()
equals()方法用来比较两个字符串的值是否相等,返回值为boolean类型
例如:String str1=“a”;
String str2=new String(“a”);
System.out.println(str1.equals(str2));
运行结果:true
3、charAt()
charAt()方法用来获得指定下标的字符,()里是字符串的下标,字符串下标从0开始,返回值为字符型。
charAt()可以配合Scanner来实现从键盘输入一个字符
例如: Scanner scanner=new Scanner(System.in);
char c=scanner.next().charAt(0);
4、indexOf()
indexOf()用来查找指定字符串,返回值为指定字符串的下标,()可以有两个参数,第一个是要查找的字符串,第二个是从下标为几开始查找(包含开始下标),当没有找到是返回-1
例如:String str=“abcabc”;
int index1=str.indexOf("a",1);
int index2=str.indexOf("a",0);
System.out.println(“index1”);
System.out.println(“index2”);
运行结果:3
0
5、substring()
substring()方法用来截取指定下标起始或结束位置的字符或字符串,返回值为String类型,原String数据不会改变
substring(fromindex,lastindex)截取的字符串包含起始位置,不包含终止位置
substring(fromindex)从字符串下标为起始下标的字符开始截取,包含起始下标,一直截到最后,
6、toUpperCase() 、 toLowerCase()
toUpperCase()方法将字符串中的小写字母全部转为大写字母
toLowerCase()方法将字符串中的大写字母全部转为小写字母
7、startsWitch()
startsWitch()判断字符串是否以什么开头,返回值为布尔型
8、endsWith()
endsWith()判断字符串是否以什么结尾,返回值为布尔型
9、equalsIgnoreCase()
equalsIgnoreCase()忽略大小写比较
10、trim()
trim()去掉空格
例如:String str="dad a";
System.out.println(str.trim());
运行结果:dada
11、split()
split()根据指定字符分割字符串
12、replace()、replaceAll()
replace(‘a’,‘b’)用字符‘a’来代替字符串中的‘b’;
replace(“ads”,“dads”)用字符串“ads”代替字符串中的子字符串“dads”
例如:
1 String str="hello"; 2 str.replace('e','o'); 3 System.out.println(str.replace('e','o')); 4 str.replaceAll("l","o"); 5 System.out.println(str.replaceAll("ll","o"));
13、valueOf()
把其他类型转化为字符串型
例如:
1 int i=10; 2 char c='o'; 3 //把int类型转为字符串(推荐) 4 String s=String.valueOf(i);
14、toCharArray()
字符串转为字符型数组
例如:
1 String str="dawd"; 2 char[] c= str.toCharArray();
包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
自动装箱,基本数据类型转为对应的包装类
Integer s=2;
手动装箱
Integer s2=Integer.valueOf(2);
自动拆箱,将包装类转为对应的基本数据类型
int i=s;
手动拆箱
int i2=s.intValue();
浙公网安备 33010602011771号