字符串
STtring类型的字符串
特点
- String类型的字符串常量也是对象,在加载期产生,放在数据段的静态区的字符串常量池中
- String类型的对象一旦产生,不可更改,每次改变产生新的对象;
常用方法
与字符数组相关的方法
- 转换为char[]数组(String.toCharArray())
- 访问指定位置的字符(String.charAt(int index))
- 得到某个字符在字符串中第一次出现的为位置(String.indexOf(char ch)),如果不存在,返回值为-1;
- 得到某个字符在字符串中最后出现的位置(String.lastIdexOf(char ch));
- 字符串的长度(String.length())
跟字母相关的方法
- 全转化为大写(String.toUpperCase())
- 全转化为小写(String.toLowercase())
- 判断相等(String.equals(String str))
- 忽略大小写的判断(String.equalsIgnoreCase(String str))
- 字符串的大小比较(String.compareTo(String str))
- 忽略大小写的大小比较(String.compareToIgnoreCase(String str))
跟字符串内容相关的
- 一个字符串是否包含在另一个字符串内( String.contains(String str))
- 一个字符串是否以另一个字符串开头(String.startsWith(String str))
- 一个字符串是否以另一个字符串结束(String.endsWith(String str))
- 从一个字符串当中截取子串(String.substring(,))
- 在一个字符串中做内容替换—本方法支持正则表达式(String.replace(,)或String.replaceAll(,))
特殊方法
- trim()—主要用途是去掉字符串前后的空格(String.trim())
- split()—字符串拆分(分隔符如果出现在最后面,不会分隔出空串;但是如果出现在最前面,会分割出空串)(String.split())
- 正则表达式
StringBuffer类型
特点
- (1)StringBuffer对象的内容可更改,(如果有大量拼接,就用该类)
- 往末尾添加(StringBuffer.append())
- 往中间加(StringBuffer.insert())
- (2)不支持同步,线程安全,效率低(多线程程序使用)
结论
- String是使用最多的字符串类型,方法丰富,语法简单;
- 如多大量字符串拼接动作,使用StringBuffer或者StringBuilder;
- 根据线程比较,
StringBuilder类型
特点
- (1)StringBuilder对象的内容可更改,(如果有大量拼接,就用该类)
- 往末尾添加(StringBuilder.append())
- 往中间加(StringBuilder.insert())
- (2)支持同步,线程不安全,效率高(单线程是一般使用该类)
包装类
int与integer
- int转Integer(调用包装类的代int参构造)
- integer转int(调用包装类对象~~.intValue()方法)
- 自动封箱(int转Integer)
- 自动拆箱(integer转int)
integer与String
- integer转String(调用包装类对象~~.toString()方法)
- String转integer(调用包装类的代String参构造)
String与int(重要)
int转String
- 调用包装类Integer.perseInt(string str);
int转String
- 调用包装类Integer.toString(int integer);
时间日期
date类
优点
- 主要获取当前时间,用于时间的比较
- 可以配合时间格式类来制定输出时间的格式
问题
- 不能通过制定的年月日来构建date对象
- 不能从date对象中单独提取年月日时分秒毫秒