实用类(二)
String:
String类
String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象。java把String类声明的final类,不能有类。String类对象创建后不能修改,由0或多个字符组成,包含在一对双引号之间。
String类对象的创建
字符串声明:String stringName;
字符串创建:stringName = new String(字符串常量);或stringName = 字符串常量。
1. 掌握字符串的常用API
常用如下:
- 获取字符串的长度:int length();
- 判断字符串内容是否相同:boolean equals(Object obj)
- 不区分大小写的字符串内容比较:boolean equalsIgnoreCase(String str);
- 将字母全部转换为大写/小写:String toUpperCase(); / String toLowerCase();
- 字符串拼接:String concat(String anotherString);
- 查找指定字符串第一次出现的位置:int indexOf(String subStr);
- 从指定位置(包含)开始,查找指定字符串出现的位置:int indexOf(String subStr,int fromIndex);
- 查找指定字符串最后一次出现的位置:int lastIndexOf(String subStr);
- 从指定位置开始截取子字符串:String substring(int startIndex);
- 从指定位置开始截取到指定位置结束的子字符串:String substring(int startIndex,int endIndex); [startIndex,endIndex)
- 获取指定索引的字符:char charAt(int index);
- 去除字符串两端空格:String trim();
- 替换字符串:String replace(String oldStr,String newStr);
- 拆分字符串:String[] split(String 正则表达式);
- 将字符串转换为字符数组:char[] toCharArray();
API详细图:
2. 掌握StringBuffer的基本使用
StringBuffer
用字符串做拼接,比较耗时并且也耗内存,而这种拼接操作又是比较常见的,为了解决这个问题,Java就提供了
一个字符串缓冲区类。StringBuffer供我们使用。
StringBuffer的构造方法
- StringBuffer();
- StringBuffer(int size);
- StringBuffer(String str);
StringBuffer的常用方法
- append(任意类型数据); 追加字符串
- insert(int index,任意类型数据); 在指定位置插入任意数据 原有数据后移
- reverse(); 字符串反转
- toString(); 转换为字符串
掌握StringBuffer和String的区别(面试题)
String作为形式参数,
StringBuffer作为形式参数。
StringBuffer于StringBuilder
StringBuffer:同步的,数据安全,效率低。
StringBuilder:不同步的,数据不安全,效率高。
3. 掌握时间类型Date
在java中只有Date类型,这样数据存储到MySQL会出现问题,前台提交的数据,比如2018-03-20 17:30:59,后台用Date接受的时候,由于Date只精确到天,所以默认接收时间为2016-10-10 00:00:00,保存到mysql数据库之后,重新取出数据的时候又会发现,数据为2018-03-20 00:00:00.0,无缘无故在后面多了一个.0。
解决方案:
如果要从MySQL中获取yyyy-MM-dd HH:mm:ss 日期格式,首先必须使用 rs.getTimestamp(“insert_dt”)方法,其中"insert_dt" 是数据库时间字段,类型为datetime;然后通过SimpleDateFormat 时间格式化类,将取出来的时间转为String类型
例如:获取当前时间,使用SimpleDateFormat以“年-月-日”方式显示
实现代码:(利用SimpleDateFormat)
例如:计算2015年4月6日是一年中的第几星期
代码实现:(利用Calendar)