一、字符串声明(不可变字符串)
//1.创建字符串
string = "i love you!";//通过字面值让虚拟机创建一个字符串对象
string = new String("i love you!");//String 构造方法
char []character = new char[]{'i',' ','l','o','v','e',' ','u'};
string = new String(character);//通过字符数组
二、字符串基本操作
//2.字符串操作
//获取指定位置字符
string.charAt(index);//返回字符
//转化为字符数组
string.toCharArray();//返回字符数组
//截取字符串
string.substring(beginIndex);//从 位置beginIndex开始 到末尾
string.substring(beginIndex, endIndex);//从beginIndex 开始 到 endIndex 前一位置
//分隔
string.split("");//返回字符串数组
//去掉首位空格
string.trim();//返回字符串
//大小写转换(全部字母字符) 返回字符串
string.toLowerCase();//转换成小写
string.toUpperCase();//转换成大写
//定位
string.indexOf("i");//字符或字符串第一次出现的位置
string.indexOf("i", fromIndex);//从fromIndex开始 第一次出现的位置
string.lastIndexOf("i");//字符或字符串最后出现的位置
string.lastIndexOf("i", fromIndex);//从fromIndex开始 最后一次出现的位置
//是否包含某 字符串 (不能检测 字符)
string.contains("i");//返回boolean
//替换
string.replace(oldChar, newChar);//替换字符 所有的
string.replace(target, replacement);//替换字符串 所有的 target是CharSequence类型 有序字符集(类似String)
string.replaceAll(oldString, newString);//替换所有的字符串
string.replaceFirst(oldString, newString);//替换第一个出现的字符串
//字符串比较
//一般编译器每碰到一个字符串的字面值,就会创建一个新的对象,但是 当两个 字符串的字面值 相同时 编译器 会重复使用第一次创建的,而不会 再次创建对象
//eg:
String str0 = "she";
String str1 = "she";
System.out.println(str0.hashCode());
System.out.println(str1.hashCode());//两个 打印是一样的
//比较内容是否相同
str0.equals(str1);//boolean返回值
str0.equalsIgnoreCase(str1);//忽略大小写
//比较前缀
string.startsWith("");
//比较后缀
string.endsWith("");