String字符串相关操作
.length 字符串长度
.equals 比较字符串
.equalIgnoreCase 比较字符串不区别大小写
.charAt 获取字符串指定下标位置的字符
.contains 判断字符串内是否包含某字符串
.endsWith 判断字符串是不是以某字符串结尾
.startsWith 判断字符串是不是以某字符串开头
.trim 去除字符串前后的空格,不包括字符串内的
.substring 获取字符串的从制定下标开始的字符串
public class TestStr06 {
public static void main(String[] args) {
String s="helloworld";
System.out.println("============1长度===================");
System.out.println("长度:"+s.length());
System.out.println("============2字符串内容的比较===================");
System.out.println(s.equals("Hello"));
System.out.println(s.equalsIgnoreCase("HelloWOrld"));
System.out.println("============3指定位置的字符===================");
System.out.println("字符d:"+s.charAt(s.length()-1));
System.out.println("============4判断是否包含===================");
System.out.println(s.contains("hehe"));
System.out.println("============5 以XXX结尾===================");
System.out.println("是否以\"ld\"结尾:"+s.endsWith("ld"));
System.out.println("============6 以XXX开头===================");
System.out.println("是否以\"he\"开头:"+s.startsWith("he"));
System.out.println("============7 过滤2边的空格===================");
// 3个位置都是2个空格
s=" hello world ";
System.out.println("过滤前的:"+s);
System.out.println("过滤前的长度:"+s.length());
System.out.println("过滤后的:"+s.trim());
System.out.println("过滤后的长度:"+s.trim().length());
System.out.println("============8 截取子串===================");
s="helloworld";
//[2,4) 左闭右开 ,[2,3]
System.out.println("截取\"ll\":"+s.substring(2, 4));
//[2,6) [from, to) 截取的字符个数= to-from ,from是起始下标
System.out.println("截取\"llow\":"+s.substring(2, 6));
// from : 从from到最后
System.out.println("截取\"w到最后\":"+s.substring(5));
System.out.println("截取\"w到最后\":"+s.substring(5,s.length()));
}
}
StringBuffer:线程安全的,效率不高,适用于多线程
StringBuilder:线程不安全的,效率高,适用于单线程 ,如果对线程安全没有要求,优先选用StringBuilder
/**
* StringBuffer/StringBuilder: 用法基本相同 ,可变字符序列
* 构造
* @author Administrator
*
*/
public class TestStr05 {
public static void main(String[] args) {
System.out.println("============1==============");
//无参构造 默认长度可以存16个字符
StringBuffer sbu = new StringBuffer();
//append()可以写多个,没有限制
sbu.append("helloworldhelloworld")
.append("a")
.append("b")
.append("c");
System.out.println("sbu="+sbu);
System.out.println("============2==============");
// 10:指的初始容量 ,初始的字符个数
sbu = new StringBuffer(10);
sbu.append("helloworldhelloworld")
.append("a")
.append("b")
.append("c");
System.out.println("sbu="+sbu);
System.out.println("============3==============");
// StringBuffer(String str)
String s1="today";
sbu = new StringBuffer(s1);
System.out.println("sbu="+sbu);
}
}
.indexOf 获取字符串中指定元素的下标索引
.lastIndexOf 获取字符串中指定元素最后一次出现的下标索引
.replaceAll 替换全部的某元素
.replaceFirst 替换首次出现的某字符
int num = Integer.parseInt(s) 将字符串装换成int型
String result=String.valueOf(num3); 将其他类型转换为字符串
/**
* java.lang.NumberFormatException: For input string: "112" 数据格式异常
* @author Administrator
*
*/
public class TestStr07 {
public static void main(String[] args) {
String s="helloworld";
System.out.println("============1索引位置===================");
//找不到 返回-1
System.out.println("l的下标位置:"+s.indexOf("l")); //2
System.out.println("l的最后一次出现下标位置:"+s.lastIndexOf("l")); //8
System.out.println("KK的下标位置:"+s.indexOf("KK"));
System.out.println("============2 替换===================");
System.out.println("替换掉所有的l:"+s.replaceAll("l", "*")); //he**owor*d
System.out.println("替换首个l:"+s.replaceFirst("l", "*")); //he*loworld
System.out.println("替换掉所有的小写字母:"+s.replaceAll("[a-z]", "*")); //**********
System.out.println("替换掉所有的3个小写字母:"+s.replaceAll("[a-z]{3}", "*")); //***d
System.out.println("替换掉所有的3个小写字母:"+s.replaceAll("[a-z]{4}", "*")); //**ld
System.out.println("============3字符串转整数===================");
s="123";
int num=Integer.parseInt(s);
System.out.println("字符串转换成int整数:"+num);
s="1110";
// s="112";
//2进制的“1110” 转成10进制
num=Integer.parseInt(s,2);
System.out.println("字符串转换成int整数:"+num);
s="173";
num=Integer.parseInt(s,8);
//8进制 64+56+3=123
System.out.println("字符串转换成int整数:"+num);
s="1e";
num=Integer.parseInt(s,16);
//16进制 16+14=30
System.out.println("字符串转换成int整数:"+num);
System.out.println("============3字符串转浮点数===================");
s="123.33";
double num2 = Double.parseDouble(s);
System.out.println("字符串转换成double浮点数:"+num2);
float num3 = Float.parseFloat(s);
System.out.println("字符串转换成float浮点数:"+num3);
System.out.println("============4其他类型转换成String字符串===================");
String result=String.valueOf(num3);
System.out.println("float---》String:"+result);
}
}