在Java编程中,String
和Arrays
是两个非常常用的类。String
用于处理字符串,而Arrays
类提供了对数组的操作方法。
一、String类
String
类是Java中用于表示字符串的类。它提供了许多方法用于字符串的操作。以下是一些常用的方法及其示例。因为java中存在方法重载,一个方法名对应多个方法,我就拿出其中一个作为示例,用法差不多类似。
1. length()
返回字符串的长度
public class StringExample {
public static void main(String[] args) {
String str = "Hello, World!";
int length = str.length();
System.out.println("Length: " + length); // 输出: Length: 13
}
}
2. charAt(int index)
返回指定索引处的字符。
public class StringExample {
public static void main(String[] args) {
String str = "Hello, World!";
char ch = str.charAt(1);
System.out.println("Character at index 1: " + ch); // 输出: Character at index 1: e
}
}
3. substring(int beginIndex, int endIndex)
返回从beginIndex
到endIndex
之间的子字符串。
public class StringExample {
public static void main(String[] args) {
String str = "Hello, World!";
String subStr = str.substring(0, 5);
System.out.println("Substring: " + subStr); // 输出: Substring: Hello
}
}
4. equals(Object anObject)
比较两个字符串是否相等,返回boolean类型的值,true/false
public class StringExample {
public static void main(String[] args) {
String str1 = "Hello";
String str2 = "Hello";
boolean isEqual = str1.equals(str2);
System.out.println("Are strings equal? " + isEqual); // 输出: Are strings equal? true
}
}
5. equalsIgnoreCase(String anotherString)
比较两个字符串(忽略大小写)是否相等。
public class StringExample {
public static void main(String[] args) {
String str1 = "Hello";
String str2 = "hello";
boolean isEqualIgnoreCase = str1.equalsIgnoreCase(str2);
System.out.println("Are strings equal (ignore case)? " + isEqualIgnoreCase); // 输出: Are strings equal (ignore case)? true
}
}
6. toUpperCase()
将字符串转换为大写
public class StringExample {
public static void main(String[] args) {
String str = "Hello, World!";
String upperStr = str.toUpperCase();
System.out.println("Uppercase String: " + upperStr); // 输出: Uppercase String: HELLO, WORLD!
}
}
7. toLowerCase()
将字符串转换为小写。
public class StringExample {
public static void main(String[] args) {
String str = "Hello, World!";
String lowerStr = str.toLowerCase();
System.out.println("Lowercase String: " + lowerStr); // 输出: Lowercase String: hello, world!
}
}
8. trim()
去除字符串两端的空白字符。
public class StringExample {
public static void main(String[] args) {
String str = " Hello, World! ";
String trimmedStr = str.trim();
System.out.println("Trimmed String: " + trimmedStr); // 输出: Trimmed String: Hello, World!
}
}
9. contains(CharSequence s)
判断字符串是否包含指定的子字符串。
public class StringExample {
public static void main(String[] args) {
String str = "Hello, World!";
boolean contains = str.contains("World");
System.out.println("Contains 'World'? " + contains); // 输出: Contains 'World'? true
}
}
10. replace(CharSequence target, CharSequence replacement)
将字符串中的指定部分替换为新的字符串。
public class StringExample {
public static void main(String[] args) {
String str = "Hello, World!";
String newStr = str.replace("World", "Java");
System.out.println("New String: " + newStr); // 输出: New String: Hello, Java!
}
}
11. indexOf(String str)
返回子字符串在字符串中第一次出现的索引。
public class StringExample {
public static void main(String[] args) {
String str = "Hello, World!";
int index = str.indexOf("World");
System.out.println("Index of 'World': " + index); // 输出: Index of 'World': 7
}
}
12. lastIndexOf(String str)
返回子字符串在字符串中最后一次出现的索引
public class StringExample {
public static void main(String[] args) {
String str = "Hello, World! Hello, Java!";
int lastIndex = str.lastIndexOf("Hello");
System.out.println("Last index of 'Hello': " + lastIndex); // 输出: Last index of 'Hello': 14
}
}
13. 字符数组与字符串之间的转换
字符数组转字符串
public class StringExample {
public static void main(String[] args) {
char[] charArray = {'H', 'e', 'l', 'l', 'o'};
String str = new String(charArray);
System.out.println("String from char array: " + str); // 输出: String from char array: Hello
}
}
字符串转字符数组
public class StringExample {
public static void main(String[] args) {
String str = "Hello";
char[] charArray = str.toCharArray();
System.out.println("Char array from string: " + Arrays.toString(charArray)); // 输出: Char array from string: [H, e, l, l, o]
}
}
二、Arrays类
Arrays
类提供了操作数组的实用方法,包括排序、搜索、比较、填充等。以下是一些常用方法及其示例。
1. sort(int[] a)
对数组进行升序排序。
import java.util.Arrays;
public class ArraysExample {
public static void main(String[] args) {
int[] arr = {5, 2, 8, 1, 3};
Arrays.sort(arr);
System.out.println("Sorted array: " + Arrays.toString(arr)); // 输出: Sorted array: [1, 2, 3, 5, 8]
}
}
2. binarySearch(int[] a, int key)
使用二分法的前提是数组是有序的,使用二分搜索算法在已排序的数组中查找元素。如果找到,则返回索引,否则返回负值。
import java.util.Arrays;
public class ArraysExample {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 5, 8};
int index = Arrays.binarySearch(arr, 3);
System.out.println("Index of 3: " + index); // 输出: Index of 3: 2
}
}
3. equals(int[] a, int[] a2)
比较两个数组是否相等。
import java.util.Arrays;
public class ArraysExample {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3};
int[] arr2 = {1, 2, 3};
boolean isEqual = Arrays.equals(arr1, arr2);
System.out.println("Are arrays equal? " + isEqual); // 输出: Are arrays equal? true
}
}
4. fill(int[] a, int val)
用指定的值填充数组。
import java.util.Arrays;
public class ArraysExample {
public static void main(String[] args) {
int[] arr = new int[5];
Arrays.fill(arr, 7);
System.out.println("Filled array: " + Arrays.toString(arr)); // 输出: Filled array: [7, 7, 7, 7, 7]
}
}
5. copyOf(int[] original, int newLength)
复制数组,返回一个新的数组。
import java.util.Arrays;
public class ArraysExample {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
int[] newArr = Arrays.copyOf(arr, 5);
System.out.println("New array: " + Arrays.toString(newArr)); // 输出: New array: [1, 2, 3, 0, 0]
}
}
6. toString(int[] a)
返回数组的字符串表示形式。
import java.util.Arrays;
public class ArraysExample {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
String arrStr = Arrays.toString(arr);
System.out.println("Array as String: " + arrStr); // 输出: Array as String: [1, 2, 3]
}
}