本文已参与「新人创作礼」活动,一起开启掘金创作之路。
什么是String类
Striing是一个引用数据类型(通常叫做字符串),或者说是一由java自带的功能类。其底层是char类型(字符类型)的数组进行实现的。其所在位置为java的java.lang包中,在java中 String类是由final修饰的,所以其不能有子类。
String类创建对象的两种方法
(1).直接赋值:该方式创建一个对象-->"aa" String s1 = "aa"; (2).new对象:该方式创建了两个对象-->new String和"aa" String s1 = new String("aa");
字符串是常量,当其被赋值后,值不能被改变,所以当我们对其更改后,其实是返回了一个新的字符串。
String类的常用方法
(1).length方法:获得字符串的长度,数组没有length方法
(2).charAt方法:返回指定下角标(索引)处的字符值
(3).indexOf方法:返回指定字符或字符串第一次出现的位置(如果找不到位置,则返回-1)
(4).substring方法:截位(根据光标的位置,截取原有字符串,并生成新的字符串)
(5).replace方法:将原有字符串中的指定字符或者字符串替换,并生成新的字符串
(6).trim方法:去除字符串前后空格
(7).split方法:根据指定字符串或正则表达式将原有字符串分割,返回数组
(8).startsWith方法:判断指定参数是否为原字符串前缀
(9).endsWith方法:判断指定参数是否为原字符串后缀
(10).valueOf方法:将整数转换成字符串
String中==和equals的区别
==:比较的是两个字符串栈上的值(内存地址)
equals:比较的是真实的字符串内容(堆内的值)
String与1数字类型的转换
String s = "222";
Integer i1 = Integer.valueOf(s);
Integer i2 = new Integer(s);
Integer i3 = Integer.parseInt(s);
// 以上三方法可将数字字符串转化为Integer数值型,得到整型的222
Integer i4 = s.charAt(0)-'0';
// 此方法可取数字字符串的具体某个数字的值,得到整形的2
Integer i5 = new Integer(s.charAt(0));
// 此方法得到的是数字字符对应的ASCII码,在这里字符'2'对应的是50
字符串比较
字符串比较是比较的对应字符的Unicode编码值。
1、字符串大小比较
(1)大小写敏感compareTo(another str)
格式:int result = str1.compareTo(str2);
(2)大小写不敏感compareToIgnoreCase(another str)
格式:int result = str1.compareToIgnoreCase(str2);
1小于返回负整数,等于返回0,大于返回正整数。
2、判断字符串是否相等
(1)大小写敏感eaquals(another str)
(2)大小写不敏感equalsIgnoreCase(another str)