1 String类的概念
java中表示字符串常量,不能原内存修改内容;位于java.lang.String;
注意:
java.lang包是jdk的常用包,这个包下的所有类在使用不需要导入;
2 String初始化
String s=”abc”;//直接赋值常量字符串
String s1=new String(“abc”);//在堆中创建常量字符串
比较地址
boolean b=s1==s;//返回false
String由于比较常用,可以和其他形式转换;
① 将byte类型的数组转换为String
byte[] arr={-78,-12,-36,-36};
//将byte类型的数组转换为String
//alt+enter
String s=new String(arr,"gbk");//返回 掺苘
System.out.println(s);
将字符串得到对应字节码数组
String str="abc大汉";
byte[] by = str.getBytes("utf-8");
System.out.println(Arrays.toString(by));//[97, 98, 99, -27, -92, -89, -26, -79, -119]
② String和char数组相互转换
char[] k={'A','阳'};
//通过字符数组构造字符串
String s=new String(k);
System.out.println(s);
String s2="飞行";
//将字符串转换成字符数组
char[] ch = s2.toCharArray();
3 String用法
支持+,将不同类型值和字符串合并,返回新的常量;
String s1=null;
s1+="abok";
String s=null;
s+="abok";//返回一个新的new String("abok")
Boolean b=s==s1; //false
4 String的API(application interface)
① 获取字符串中字符个数
int length();
String s=”abc”;
int len=s.length();
② 获取指定索引位置字符
char charAt(int);
③ equals() 判断两个字符串内容是否相等
equalsIgnoreCase()判断两个字符串内容是否相等,忽略大写
④ int compareTo(String) 用于笔记两个字符串大小
⑤ boolean containts(String) 判断是否包含子字符串
String s="helloworld";
String s2="or";
boolean b = s.contains(s2);
⑥ startWith和endsWith
String s="D:\\ping\\电子书\\机器学习\\abc.doc";
//判断是否D盘开头
boolean b = s.startsWith("D:");
//判断是否以.doc结尾
boolean c=s.endsWith(".doc");
⑦ 格式化输出字符串
String s = String.format("hello%d,%.2f", 8, 8.8);
System.out.println(s);//hello8,8.80
⑧ indexOf,lastIndexOf
查询目标字符串在源字符串中索引位置 i
nt ind="world".indexOf("or");
System.out.println(ind);//1
int ind="worldor".lastIndexOf("or");
System.out.println(ind);//5
⑨ split 按正则表达式拆分字符串为字符串数组
String str="1 栗子 2 魄力";
String[] arr = str.split(" ");
System.out.println(Arrays.toString(arr));