String类(Java)

文章目录

    • 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类
String类(Java)_第1张图片
 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()方法

String类(Java)_第2张图片

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()方法

String类(Java)_第3张图片

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()方法

String类(Java)_第4张图片

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
	}
}

你可能感兴趣的:(Java类库(API),java)