文章目录
- 1. 介绍
- 2. 分析
- 3. 方法
- 3.1 String()方法
- 3.2 equal()方法
- 3.3 compareTo()方法
- 3.4 contains()方法
- 3.5 toCharArray()方法
- 3.6 trim()方法
- 3.7 valueOf()方法
1. 介绍
A. 类介绍:
Java将字符串看作对象(不同于c语言, c语言直接使用字符数组来表示字符串),提供了 String 和 StringBuffer 两个类分别用于处理不变字符串和可变字符串.
String类主要是用于对字符串内容的检索和比较等操作.
2. 分析
A. 类包结构:java.lang包 – String类
B. 关键核心 : 字符串常量在Java当中也是以对象形式储存
C. 关键核心 : String对象封装数据不可变,更改引用变量的值实际上是将其指向一个新的字符串对象
3. 方法
3.1 String()方法
public class Main {
public static void main(String[] args) {
/*
* public String() : 空字符串
* public String(String s) : 已有字符串赋值
* public String(StringBuffer s) : 使用StringBuffer 对象初始化
* public String(char value[]) : 使用字符数组赋值
*/
String s1 = new String();
String s2 = new String("This is s1");
String s3 = new String(new StringBuffer("This is s3"));
String s4 = new String(new char[] {'s', '4'});
}
}
3.2 equal()方法
public class Main {
public static void main(String[] args) {
String s1 = "abc";
String s2 = "Abc";
System.out.println(s1.equals(s2)); // false
System.out.println(s1.equalsIgnoreCase(s2)); // true
}
}
&emsp: 细节 : equals() 比较的是两个对象的内容是否相同,s1 == s2 比较的是对象的引用是否相同。
public class Main {
public static void main(String[] args) {
String s1 = "abc";
String s2 = "abc"; // 默认优化,相同字符串常量存储一次
String s3 = new String("abc"); // 建立一个新对象
System.out.println(s1 == s2); // true
System.out.println(s1 == s3); // false
}
}
3.3 compareTo()方法
public class Main {
public static void main(String[] args) {
/*
当前串大 : return > 0
当前串一样大 : return = 0
当前串小 : return < 0
*/
String s1 = "aBc";
String s2 = "ABc";
System.out.println(s1.compareTo(s2));// > 0
System.out.println(s1.compareToIgnoreCase(s2)); // 0
}
}
3.4 contains()方法
public class Main {
public static void main(String[] args) {
String s = "abcdefghijk";
String ss[] = {"a", "bc", "ff", "ij", "ji"};
for(String x : ss){
if(s.contains(x)) System.out.println("字符串 s 当中含有子串: " + x);
else System.out.println("字符串 s 当中不含有子串: " + x);
}
/*
字符串 s 当中含有子串: a
字符串 s 当中含有子串: bc
字符串 s 当中不含有子串: ff
字符串 s 当中含有子串: ij
字符串 s 当中不含有子串: ji
*/
}
}
3.5 toCharArray()方法
public class Main {
public static void main(String[] args) {
String s = "abcde";
char x[] = s.toCharArray();
for(int i = 0; i < x.length; i ++ )
System.out.print(x[i]); // abcde
}
}
3.6 trim()方法
public class Main {
public static void main(String[] args) {
String s = " ab cde ";
s = s.trim();
System.out.print(s); // [ab cde]
}
}
3.7 valueOf()方法
public class Main {
public static void main(String[] args) {
int x1 = 123;
double x2 = 12.3;
boolean x3 = true;
char[] x4 = {'1', '2', '3'};
Main x5 = new Main();
System.out.println(String.valueOf(x1)); // 123
System.out.println(String.valueOf(x2)); // 12.3
System.out.println(String.valueOf(x3)); // true
System.out.println(String.valueOf(x4)); // 123
System.out.println(String.valueOf(x5)); // com.Main@1b6d3586
}
}