String
类
●
String类概述
字符串是由多个字符组成的一串数据(字符序列)的字符串常量,java中所有字符串都是String类的实例.
●
有两种创建形式:
●
第一种:
String s = "abc";先在栈中创建一个对String类的对象引用变量s,然后去字符串常量池中查找
有没有"abc", 如果没有则在常量池中添加”abc”, s引用变量指向常量池中
的”abc”,如果常量池中有,则直接指向改地址即可,不用重新创建.
●
第二种:
一概在堆中创建新对象,值存储在堆内存的对象中。 String s = new String("abc");
public class StringDemo1 {
public static void main(String[] args) {
System.out.println(s==s1);
System.out.println(s.equals(s1));
String s3 = new String("abc");
String s4 = new String("abc");
System.out.println(s3==s4);
System.out.println(s3.equals(s4));
●
构造方法
public String()
public String(String str)
public String(byte[] bytes) //将传入一个byte数组将按默认编码其转化为字符串
public String(char[] value) //将传入一个char数组将其转化为字符串
●
判断功能
boolean equals(Object obj)
boolean equalsIgnoreCase(String str)
boolean contains(String str)
boolean isEmpty()
boolean startsWith(String prefix)
boolean endsWith(String suffix)
代码示例:
public class StringDemo2 {
public static void main(String[] args) {
String s2 = new String("abC");
System.out.println(s1.equals(s2));
System.out.println(s1.equalsIgnoreCase(s2));
System.out.println(s1.contains("c"));
System.out.println(s1.isEmpty());
System.out.println(s1.startsWith("ab"));
System.out.println(s1.endsWith("bc"));
System.out.println(s3.compareTo(s4));
●
获取功能
int length()
char charAt(int index)
int indexOf(String str)
int indexOf(String str,int fromIndex)
String substring(int start)
String substring(int start,int end)
示例代码:
public class StringDemo3 {
public static void main(String[] args) {
System.out.println(s.length());
int index = s.indexOf("d");
System.out.println(index);
int index1 = s.indexOf("d",index+1);
System.out.println(index1);
int index2 = s.lastIndexOf("d");
System.out.println(index2);
String s2 = s1.substring(3);
String s3 = s1.substring(2,6);
●
转换功能
byte[] getBytes()
char[] toCharArray()
static String valueOf(char[] chs)
String toLowerCase()
String toUpperCase()
String concat(String str)
Stirng[] split(分割符);
示例代码:
import java.io.UnsupportedEncodingException;
public class StringDemo4 {
public static void main(String[] args) throws UnsupportedEncodingException {
char[] chars = s.toCharArray();
System.out.println(Arrays.toString(chars));
String s1 = new String(chars);
String s2 = String.valueOf(chars);
System.out.println(s3.toUpperCase());
System.out.println(s3.toLowerCase());
String s4 = "ab&cde&efg";
String[] strings = s4.split("&");
System.out.println(Arrays.toString(strings));