1.Sting类
|方法|作用|实例|
|:—|:—|:—|
|String(byte[])
|以byte数组初始化字符串,第二个参数可跟编码|s=String(bytes);
|
|int length()
|返回字符串长度|int i=str.length();
|
|char charAt(int index)
|返回字符串指定位置的单字符|char c=s.charAt(3);
|
|boolean contains(CharSequence)
|字符串是否包含序列|"123".contain("1");
|
|boolean equals(Object)
|将字符串与指定对象比较|s1.equal(s2);
|
|int compareTo(String)
|按字典顺序比较两个字符串,-1/0/1|s1.compareTo(s2);
|
|int indexOf(String)
|获取指定字符串在当前内容中首次出现的位置|s1.indexOf(s2);
|
|int lastindexOf(String)
|获取指定字符串在当前内容中最后出现的位置|s1.lastindexOf(s2);
|
|boolean startsWith(Stirng)
|测试此字符串是否以指定的前缀开始|s1.startsWith(s2);
|
|boolean endsWith(Stirng)
|测试此字符串是否以指定的后缀结束|s1.endsWith(s2);
|
|boolean regionMatches(int,String,int,int)
|测试此字符串是否以指定的后缀结束|s1.endsWith(s2);
|
|String substring(int,int)
|返回此字符串的一个子字串|"abcdefg".substring(2,4)="cd";
|
|String replaceAll(Sting,String)
|用新字符串替换匹配的字符串|s1.replace(" ","");
|
|String trim()
|返回字符串的副本,忽略前导空白和尾部空白。|" 12 3 4 ".trim() == "12 3 4";
|
|String concat(String)
|将指定字符串连接到此字符串的结尾。| "12".concat("23");
|
|String[] split(regex)
|根据给定正则表达式的匹配拆分此字符串。注意:每遇到一个regex前后分割|"12 3 4 ".split(" ");[, 1, 2, 3, 4]
|
相关用法:
//int型转字符串
String s1 = 10 + "";
//字符串转int
int i = Integer.parseInt(s1);
//注意 t x = T.parseT(String) t是基本类型,T是对应引用类型,将字符串转为t类型
//字符串转字符数组
String string = "abcdefg";
char[] array = string.toCharArray();
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]+" ");
}
//字符串转字节数组
byte[] bs = string.getBytes();
for (int i = 0; i < bs.length; i++) {
System.out.println(bs[i]+" ");
}
输出:97 98 99 100 101 102 103
//字节数组初始化字符串
String str = new String(bs);
//Arrays下的toString方法
String[] strs = "12 3 4 ".split(" ");
System.out.println(Arrays.toString(strs));
输出:[, 1, 2, 3, 4]
2.Date类及时间相关方法(java.util下的Date类)
//获取1970.1.1 0点到当前时间的毫秒值 两种方法
long l1 = System.currentTimeMillis();
long l2 = new Date().getTime();
//获取当前日期时间
Date date = new Date();
System.out.println(date);
输出结果格式:Tue Mar 19 23:30:14 CST 2019
SimpleDateFormat:
//格式化1
SimpleDateFormat sdf = new SimpleDateFormat();
String s1 = sdf.format(new Date());
System.out.println(s1);
输出:19-3-19 下午11:41
//格式化2
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日");
String s2 = sdf1.format(new Date());
System.out.println(s2);
输出:2019年03月19日
//解析
SimpleDateFormat sdf3 = new SimpleDateFormat();
Date d1 = sdf3.parse("19-3-18 下午7:37");
System.out.println(d1);
输出:Mon Mar 18 19:37:00 CST 2019
三天打渔两天晒网基础
@Test
public void fun(){
Date date = new Date();
long l = date.getTime();
int d = (int)(l/100/3600/24)+1;
if(d%5==0 && d%5==4){
System.out.println("晒网");
}else{
System.out.println("打渔");
}
}
三天打渔两天晒网扩展
@Test
public void fun(){
String date1 = "1990-01-01";
String date2 = "2022-03-04";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy--MM--dd");
Date d1 = sdf(date1);
Date d2 = sdf(date2);
long ms = d2.getTime() - d1.getTime();
int d = (int)(ms/1000/3600/24)+1;
if(d%5==0 && d%5==4){
System.out.println("晒网");
}else{
System.out.println("打渔");
}
}
#