首页 > 技术文章 > java关于字符串和日期的代码展示

Listener-wy 2018-03-14 15:22 原文

StringBuffer是线性安全的,StringBuilder不是线性安全的  
字符串的修改:
stringBudile与stringBuiler提供了用于修改字符串内容的相关方法
String str=”努力学习JAVA”;
StringBudile sb=new StringBuile();
append(Str):向当前字符串末尾追加指定内容
System.out.println (sb.append(“,就是为了改变世界!”));
replace(int start,int end,str):将指定范围内的字符串替换为指定的内容
System.out.println (sb.repace(1,5,”开玩笑”);
delete(int start,int end): 将当前字符串中指定范围内的内容删除
System.out.println (sb.delete(1,5));
insert(int dex,str): 将给定字符串插入到指定位置,原位置及后续字符串顺序向后移动
System.out.println (sb.insert(1,”还在开玩笑”));
reverse():反转字符串
System.out.println (sb.reverse());
查询给定字符串在当前字符串中的位置:
indexOf(String str)
// 0123456789012345
String str = "thinking in java";
System.out.println(str.indexOf("i"));
重载方法允许从指定位置处开始查找
System.out.println(str.indexOf(“i”,3));
查找最后一次出现指定字符串的位置
System.out.println(str.lastIndexOf(“i”));
截取字符串:
substring(int start,int end)
  //                  0123456789012345
  String str = "thinking in java";
  System.out.println(str.substring(5,8));
如果只传入一个参数,表示从指定位置开始截取到字符串最末去除当前字符串两边的空白字符:trim()
  String str = "  hello ";
  System.out.println(str.trim());
获取当前字符串指定下标对应的字符:
charAt(int index)
  //                  0123456789012345
  String str = "thinking in java";
  System.out.println(str.charAt(4));
判断当前字符串是否是以指定的字符串开始或结尾的:
  boolean startsWith(String str)
  boolean endsWith(String str)
  String str = "thinking in java";
  System.out.println(str.startsWith(“thi”));
  System.out.println(str.endsWith(“ava”));
将当前字符串的英文转换为全大写或全小写:
  String toUpperCase()
  String toLowerCase()
  String str = "我爱Java";
  System.out.println(str.toUpperCase);
  System.out.println(str.toLowerCase);
基本类型与引用类型的相互转换:将基本类型转换成引用类型
  System.out.println(引用类型.valueOf(基本类型));
将引用类型转换成基本类型
  System.out.println(new 引用类型(基本类型).intValue);
获取引用类型对应的基本类型的最大或者最小值:获取最大值
  System.out.println(引用类型.MAX_VALUE);
获取最小值
  System.out.println(引用类型. MIN_VALUE);
将给定的字符串转换为对应的基本类型:
  String str = "123";
  int i = Integer.parseInt(str);
  System.out.println(i+1);
  double d = Double.parseDouble(str);
  System.out.println(d+1);
正则表达式:
+:表示内容连续出现至少1次以上,
*:连续出现0次以上
?:表示内容出现0-1次
^到$:表示从^里面的内容$为一个整体
\d:表示任意数字
\w:表示任意单词字符
\s:表示空白字符
\D:不表示任意数字
\W:表示任意单词字符
\S:表示空白字符
matches(String regex): 根据给定的正则表达式验
证当前字符串是否满足格式
  String regex = "[a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\\.[a-zA-Z0-9]+)+";
  String mail = "fancq@tedu.cn";
  boolean flag = mail.matches(regex);
  if(flag){
    System.out.println("是邮箱");
  }else{
    System.out.println("不是邮箱");
  }
split(String regex): 将当前字符串按照满足正则表达式的部分进行拆分
  String str = "abc123def456ghi789jkl";
  String regex = "[0-9]+";
  String[] array = str.split(regex);
  for(int i=0;i<array.length;i++){
    System.out.println(array[i]);
  }
replaceAll(String regex,String str): 
将当前字符串中满足正则表达式的部分替换为给定的字符串
  String str = "abc123def456ghi789jkl";
  System.out.println(str.replaceAll("\\d+", "#NUMBER#");
Calendar日历类:
该类是一个抽象类,封装了对时间的相关操作
  Calendar calendar= Calendar.getInstance();
设置年
  calendar.set(Calendar.YEAR, 2008);
  System.out.println(calendar.getTime());
设置月
  calendar.set(Calendar.MONTH, 7);
  System.out.println(calendar.getTime());
设置日
DATE:       月中天
DAY_OF_MONTH:月中的天,与DATE一致
DAY_OF_WEEK:   周中的天,星期几
DAY_OF_YEAR:    年中的天
  calendar.set(Calendar.DAY_OF_MONTH, 8);
  System.out.println(calendar.getTime());
时
  calendar.set(Calendar.HOUR_OF_DAY, 20);
分
  calendar.set(Calendar.MINUTE,8);
秒
  calendar.set(Calendar.SECOND, 8);
  System.out.println(calendar.getTime());
获取年
  System.out.println(calendar.get(Calendar.YEAR));
获取月
  System.out.println(calendar.get(Calendar.MONTH)+1);
获取日
  System.out.println(calendar.get(Calendar.DATE));
获取时
  System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
获取分
  System.out.println(calendar.get(Calendar.MINUTE));
获取秒
  System.out.println(calendar.get(Calendar.SECOND));
查看当月的天数
  System.out.println(calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
查看2016年2月的天数
  calendar.set(Calendar.MONTH, 1);
  System.out.println(calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
查看今年总天数
  System.out.println(calendar.getActualMaximum(Calendar.DAY_OF_YEAR));
查看3年后
  calendar.add(Calendar.YEAR, 3);
  System.out.println(calendar.getTime());
查看2个月后
  calendar.add(Calendar.MONTH, 2);
  System.out.println(calendar.getTime());
查看8天以后
  calendar.add(Calendar.DAY_OF_YEAR, 8);
  System.out.println(calendar.getTime());
查看5小时以前
  calendar.add(Calendar.HOUR_OF_DAY, -5);
  System.out.println(calendar.getTime());
日期的各种格式相互转换:
  SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

推荐阅读