关于String的常用方法

  1. “==”
    由于字符串变量是引用变量,所以 == 比较的时两个变量的地址而不是内容。
  2. 创建字符串的方法
  • String str0 = “hello”; 在常量池中创建一个对象"hello",然后让str0指向该地址(只创建一个对象)
  • String str1 = new String(“hello”); 创建了2个对象,第一个对象是”abc”字符串存储在常量池中,第二个对象在JAVA Heap中的 String 对象。
    当在创建str2 = “hello"时,会在常量池中寻找是否存在该对象,那么str2和str0就会指向同一个"hello”,而方法2 new出来的则是不同的另一个对象
public class test{
	public static void main(String[] args) {
		String str0 = "hello";
		String str1 = new String("hello");
		String str2 = "hello";
		System.out.println(str0 == str1);
		System.out.println(str0 == str2);
	}
}
>>>>>>
false
true

  1. length() 字符串的长度
    求字符串的长度 str0.length();

  2. charAt(int i) 求第i个字符

String str0 = "hello";
System.err.println(str0.charAt(4));
>>>>>>>>
o
  1. indexOf(String p) 字符串第一次出现的位置,如果没有就返回-1
String str0 = "hello";
String str3 = "llo";
String str4 = "heo";
System.out.println(str0.indexOf(str3));
System.out.println(str0.indexOf(str4));
>>>>>>>
2
-1
  1. indexOf(String p, int i) p在i个字符后第一次出现的位置,如果没有返回-1;
String str0 = "hello";
String str5 = "el";
System.out.println(str0.indexOf(str5,0));
System.out.println(str0.indexOf(str5,2));
>>>>>>>>>
1
-1
  1. concat(Stirng p) 将字符串p加在末尾;
String str1 = "hElLo";
System.out.println(str1.concat("world"));
>>>>>>>>>>
hElLoworld
  1. substring(int i, int j) 截取出该字符串的子字符串[i,j),取不到j
String str0 = "hello";
System.out.println(str0.substring(2,5));
>>>>>>>>
llo
  1. split(Sting delim) 使用delim分隔符切分字符串
String str6 = "hello,world,java";
String[] str7 = str6.split(",");
for(int i = 0; i < str7.length; i++) {
	System.out.println(str7[i]);
}
>>>>>>>>>>>>>
hello
world
java

  1. compareTo(String t) 对两个字符串按字典排序的方式进行比较,返回两个字符串中第一个不同的字符的ascII码差值
String str0 = "hello";
String str8 = "Hello";
String str9 = "Hello";
System.out.println(str0.compareTo(str8));
System.out.println(str9.compareTo(str8));
>>>>>>>>>>>
32
0
  1. equals(String t) 比较两个字符串的内容是相同
String str0 = "hello";
String str8 = "Hello";
String str9 = "Hello";
System.out.println(str0.compareTo(str8));
System.out.println(str9.compareTo(str8));
>>>>>>>>>>>
String str0 = "hello";
String str8 = "Hello";
String str9 = "Hello";
System.out.println(str0.compareTo(str8));
System.out.println(str9.compareTo(str8));
>>>>>>>>>>>
32
0
  1. hashCode() 求哈希值
  2. String.intern() 如果不是用双引号声明的String对象(new出来的)。intern 方法会从字符串常量池中查询当前字符串是否存在,若不存在就会将当前字符串放入常量池中
String str1 = new String("hello");
str1.intern();//请注意这一行
String str2 = "hello";
System.out.println(str2 == str1);
System.out.println(str2 == str1.intern());
>>>>>>>>>>
false
true
  1. toCharArray() 将字符串转换为字符数组
String str1 = "hello";
char[] str2 = str1.toCharArray();
for(int i = 0; i < str2.length; i++) {
	System.out.println(str2[i]);
}
>>>>>>>>
h
e
l
l
o

15.isEmpty() 判断字符串是否为空,不包括null的情况

String str = "hello";
String str2 = "";
String str1 = null;
System.out.println(str.isEmpty());
System.out.println(str2.isEmpty());
System.out.println(str1.isEmpty());
>>>>>>>>>>>>>
false
true
Exception in thread "main" java.lang.NullPointerException

16.trim() 去掉字符串左右空格

String str = "   hello    ";
System.out.println(str);
System.out.println(str.trim());
>>>>>>>>>>>
   hello    
hello

17.toUpperCase(): 将字符串转换为全大写;toLowerCase(): 将字符串转换为全小写

String str1 = "hElLo";
System.out.println(str1.toUpperCase());
System.out.println(str1.toLowerCase());
>>>>>>>>>>>>>>
HELLO
hello

猜你喜欢

转载自blog.csdn.net/qq_40265485/article/details/88585884
今日推荐