String
lang包下的一个类,被final修饰,所以该类不能被继承。底层封装了一个字符串数组。并且String字符串一旦被赋值将永远无法被改变。
补充:final修饰的类不能被继承;
final修饰的方法不能被重写;
final修饰的变量不能被改变。(static final修饰的被称为常量,声明时就赋值)
常用方法
1、length():获取字符串长度,返回一个int类型的值
案例:
package string;
public class Length {
public static void main(String[] args) {
String str = "Hello World!";
int l = str.length();
System.out.println(l);//12
}
}
2、 trim():去除字符串两端的空格符
注意:只会出去首位两端的,中间的不影响
案例:
package string;
public class TrimDemo {
public static void main(String[] args) {
String str = " Hello World! ";
String s = str.trim();
System.out.println();//Hello World!
}
}
3、indexOf():检索给定字符串的起始位置
注意:如果原字符串中不包含指定字符串,则返回-1
案例:
package string;
public class IndexOfDemo {
public static void main(String[] args) {
String str = "thinking in java";
int index = str.indexOf("in");
System.out.println(index);//2,下标从0开始
}
}
补充:
1.1 从我们给定的位置之后开始检索指定字符第一次出现的位置。通过重写后的indexOf()方法实现。
1.2 通过lastIndexOf()检索制定字符串最后一次出现的位置。
package string;
public class IndexOfDemo {
public static void main(String[] args) {
String str = "thinking in java";
int index = str.indexOf("in");
int i1 = str.indexOf("in",3);//从指定位置开始检索制定字符出现的位置
int i2 = str.lastIndexOf("in");//检索制定字符最后出现的位置
System.out.println(index);//2
System.out.println(i1);//5
System.out.println(i2);//9
}
}
4、substring(int start,int end):截取指定范围内的字符串(含头不含尾)
案例:
package string;
public class SubstringDemo {
public static void main(String[] args) {
String str = "I love java";
String s = str.substring(2,6);//包含2下标处的字符不包含6下标处的字符
System.out.println(s);//love
}
}
补充:当只传入一个参数时,则截取参数位置开始的所有字符串
package string;
public class SubstringDemo {
public static void main(String[] args) {
String str = "I love java";
String st = str.substring(2);//截取2下标开始的所有字符
System.out.println(st);//love java
}
}
5、charAt():获取指定下标位置上的字符
案例:
package string;
public class CharAtDemo {
public static void main(String[] args) {
String str = "Hello World";
char c = str.charAt(4);//获取下标4处的字符
System.out.println(c);//0
}
}
6、startWith():判断字符串是否是以给定的字符串开头
补充:endWith():判断字符串是否是以给定的字符串结尾
案例:
package string;
public class StartWithDemo {
public static void main(String[] args) {
String str = "Hello World";
boolean b = str.startsWith("He");//判断str字符串是否是以He开头
boolean b1 = str.endsWith("sj");//判断str字符串是否是以sj结尾
System.out.println(b);//true
System.out.println(b1);//false
}
}
7、toUpperCase():把字符串中的所有英文转换为大写
补充:toLowerCase():把字符串中的所有英文转换为大写
注意:只针对字符串中的英文字符
案例:
package string;
public class ToUpperCaseDemo {
public static void main(String[] args) {
String str = "Hello World!";
String s1 = str.toUpperCase();//把str中的英文全部转换为大写
String s2 = str.toLowerCase();//把str中的英文全部转换为小写
System.out.println(s1);//HELLO WORLD!
System.out.println(s2);//hello world!
}
}
8、valueOf():将其他数据类型转化为String类型
案例:
package string;
public class ValueOfDemo {
public static void main(String[] args) {
int a = 123;
double d = 3.14159;
String str = String.valueOf(a);//把int类型的a转换为String类型并赋值给str
String str1 = String.valueOf(d);//把double类型的d转换为String类型并赋值给str
System.out.println(str);//123
System.out.println(str1);//3.14159
}
}
常用的方法不算多,但需要牢牢的记住,后期会用到。