引言:
String类
Arrays类
String
String 类代表字符串。Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。
字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。
包路径:
构造方法:
1 2 3 4 5 6 7
| public String()
public String(char[] value) public String(byte[] bytes)
|
常用方法:
比较方法
1 2 3 4 5 6 7
| public boolean equals(Object anObject)
public boolean equalsIgnoreCase(String anotherString)
|
属性获取方法
1 2 3 4 5 6 7
| public int length()
public boolean isEmpty()
public char charAt(int index)
public int indexOf(String str)
|
裁剪方法
1 2 3 4 5 6
| public String concat(String str)
public String substring(int index);
public String(intbegin,intend);
|
转换方法
1 2 3 4 5 6
| public char[] toCharArray();
public byte[] getBytes();
public String replace(CharSequence oldString,CharSequence newString);
|
分割方法
1 2
| public String[] split(String regex);
|
示例代码:
构造方法
1 2 3 4 5 6 7 8 9 10 11 12 13
| String str1 = "hello"; System.out.println(str1);
String str2 = new String(); System.out.println(str2);
char[] charArray = {'a','w','c'}; String str3 = new String(charArray); System.out.println(str3);
byte[] byteArray = {85,49,35}; String str4 = new String(byteArray); System.out.println(str4);
|
常用方法:
比较方法
1 2 3 4 5 6 7 8 9 10 11
| String str1 = "hello"; String str2 = "hello"; char[] arr = {'h','e','l','l','o'}; String str3 = new String(arr); String str4 = "HellO"; System.out.println(str1==str2);
System.out.println(str1==str3); System.out.println(str1.equals(str2)); System.out.println(str1.equals(str3)); System.out.println(str1.equalsIgnoreCase(str4));
|
属性获取方法
1 2 3
| System.out.println(str1.length()); System.out.println(str1.charAt(3)); System.out.println(str1.indexOf("h"));
|
裁剪方法
1 2 3 4 5 6 7 8 9 10
| String str1 = "hello"; String str2 = "hello";
str1.concat(str2);
"你好".concat(str1);
str1.substring(2);
str1.substring(2,4);
|
转换方法
1 2 3 4 5 6
| String str1 = "hello";
char[] arr1 = str1.toCharArray(); byte[] arr2 = str1.getBytes(); String str2 = str1.replace('l','w');
|
分割方法
1 2 3 4 5
| String str1 = "he,l,lo"; String[] str2 = str1.split(","); for (int i = 0; i < str2.length; i++) { System.out.println(str2[i]); }
|
字符串常量池
在java虚拟机堆中,字符串有一个专门的常量池
直接写上双引号的字符串,就在字符串常量池中
new创建的字符串不在常量池内
对于引用类型来说,等于号是对地址进行的比较
特点:
- 字符串的内容不可以改变
- 字符串内部是可以共享使用的,相同加了双引号的字符串,如果内容都相同,他的地址也是来自一块地址的
- 字符串的底层原理是byte字节数组
Arrays
用来操作数组(比如排序和搜索)的各种方法
包路径
构造方法
所有的数组都可以使用这个类的方法
常用方法
1 2 3 4 5
| public static String toString(int[] a)
public static void sort(int[] a)
|
示例代码
1 2 3 4 5 6
| int[] arr = {3,8,2,1}; String str = Arrays.toString(arr); System.out.println(str);
Arrays.sort(arr); System.out.println(Arrays.toString(arr));
|