String字符串
String是一个类,属于数据类型中的引用类型。
Java中一切使用""引起来的内容,都是这个类的实例,称为字符串对象。
字符串在定义后,值不可改变,是一个常量,实际是一个字符数组。
创建字符串对象
1.使用" "赋值创建以及创建字符串的过程
2.通过构造方法创建
使用构造方法String(String str)创建
使用+拼接""和new出来的字符串对象创建
字符串String类中的常用方法
可变字符串
String字符串对象是一个常量,在定义后,值不可改变。
如果使用String类的对象,对其频繁更新时,就会不停地创建新的对象,不停引用给同一个变量。 如要执行10000次循环重新赋值的过程,就要创建10000个字符串对象,执行效率很低,这时就需要使 用可变字符串对象。
StringBuilder类
用于表示可变字符串的一个类,是非线程安全的,建议在单线程环境下使用。
StringBuffer类
用于表示可变字符串的一个类,是线程安全的,建议在多线程环境下使用。
构造方法
普通方法
注意:
- 以上表格中的方法都是在直接操作同一个字符串对象,每次调用方法后,原字符串都会发生变化
- StringBuffer和StringBuilder并没有重写equals方法,所以可变字符串的值是否相同时,调用的是 equals中原始的==判断。如果要判断两个可变字符串的值是否相同时,需要将其转换为String后调 用equals判断
可变字符串与String之间的转换
String转换为可变字符串
可变字符串转换为String(任意类型对象转换为String)
方法一:String.valueOf(Object obj)方法
方法二:对象.toString();
方法三:
方法调用时传值问题
Date类
用于表示日期时间的类,位于java.util包下
构造方法
常用方法
SimpleDateFormat类
用于格式化日期的类。
构造方法
日期模板
常用方法
Calendar类
表示日历的类,包含了很多日历相关的信息。 是一个抽象类,无法创建对象。可以通过静态方法getInstance()获取该类的一个实例。
日历字段
在Calendar类中,定义了很多被final和static修饰的常量,称为日历字段,实际一个数字,用于获取指 定信息
常用方法
包装类
Java是纯面向对象语言,宗旨是将一切事物视为对象处理。但原始类型不属于对象,不满足面向对象的思想。但原始类型在使用时无需创建对象,保存在栈中,效 率高。 为了让原始类型也有对应的类类型,达到"万物皆对象"的理念,所以就有了包装类的概念 包装类就是原始类型对应的类类型。包装类通常用于字符串与原始类型之间的转换。在web应用中,从浏览器页面中获取到后台的数据,全部都是String类型,所以一定要使用转换为原始 类型的方法。
特点:
- 八个原始类型中,除了int和char,其余类型的包装类,都是将首字母改为大写。int对应 Integer,char对应Character
- 包装类都是被final修饰的,不能被继承
- 除了Character类,其余包装类都有两个构造方法:参数为原始类型或String的构造方法。 Character的构造方法只有一个,参数为char类型。这些构造方法用于将原始类型或字符串转换为 包装类对象
- 除了Character类,其余类都有静态方法parse原始类型(String str),用于将字符串转换为相应的 原始类型
- 除了Boolean类,其余包装类都有MAX_VALUE和MIN_VALUE这两个静态属性,用于获取对应类 型支持的最大最小值
- 所有包装类都重写了toString()方法,用于将包装类对象转换为String对象
字符串与原始类型之间的转换
字符串转换为原始类型
使用原始类型对应的包装类,调用parse原始类型(字符串)方法
原始类型转换为字符串
- 使用+拼接一个空白字符串
- 将原始类型转换为包装类后,调用toString()方法
- String.valueOf(原始类型数据)
装箱和拆箱
- 所有包装类都有一