String的内容一旦声明则不可改变,如果要改变,则改变的肯定是String的引用地址。
如果一个字符串要经常改变,则必须使用StringBuffer类。
所以对于频繁修改字符串内容的地方,最好使用StringBuffer类完成。
StringBuffer可以完成字符串的连接、向字符串中插入内容、字符串反序、
替换字符串部分内容、字符串截取、删除指定部分、查找字符串中是否存在指定内容
Runtime 表示运行时操作类,在一个 JVM 中只存在一个 Runtime,
所以如果要想取得 Runtime 类的对象,直接使用 static 方法 getRuntime()
Runtime run = Runtime.getRuntime();
也就是说Runtime类中提供了一个静态的getRuntime()方法。
Runtime表示的是每一个JVM实例,所以就可以通过Runtime取得一些系统信息。
System类是一些与系统相关的属性和方法的集合,而且在System类中所有的属性都是静态的,
因此想要引用这些属性和方法,直接使用System类调用即可。
利用currenTimeMillis()计算一个程序的执行时间。(程序执行前后时间相减)
日期操作类:
1)Date,获取当前日期,但显示的格式不符合习惯
public class DateDemo01 {
public static void main(String[] args) {
Date d = new Date();
System.out.println("当前日期"+d);
}
}
2)Calendar,是一个抽象类,必须依靠对象的多态性,通过子类进行父类的实例化操作,
其子类是GregorianCalendar类。使用Calender类中的方法可以提取时间日期中的数字。
使用Calendar类获取系统当前时间,代码比较复杂,所以java中
又提供了其他日期的类。
3)DateFormat类和MessgaeFormat类都是Format的子类。专门用于格式化数据使用,是数据的显示方式
符合习惯。
DateFormat类是一个抽象类,所以肯定无法直接实例化,但在此抽象类中提供了一个
静态方法(public static final DateFormat getDateInstance()),可以直接得到本类的实例。
DateFormat类中的常用方法String format(Date date):将一个Date格式化为日期/时间字符串。
import java.text.DateFormat;
import java.util.Date;
public class DateDemo03 {
public static void main(String[] args) {
DateFormat f = DateFormat.getDateInstance();
System.out.print(f.format(new Date()));
}
}
4)SimpleDateFormat类:按照提供的模板将日期格式化。
Math类:
是数学操作类,提供了一系列数学操作方法,包括求绝对值、三角函数等。
Math类中的方法都是静态方法,所以可以通过类名Math直接调用即可。
Random类
随机数产生类,可以指定一个范围,然后随机产生此范围内的数字。
可以产生boolean、int、float等类型的随机数。
NumberFormat类:
public absteact class NumberFormat extends Format
NumberFormat类是一个抽象类,是Format的子类,在使用时,可以直接使用类中的
静态方法为其实例化。
例如将10000格式化为10,000
DecimalFromat类:格式化数字
按照提供的模板将数字格式化。
Arrays类:实现数组的查找、比较、填充、排序等。
Comparable接口:按照一定的规则,对对象数组进行排序。
Arrays类中的sort方法可以对任意类型的数组排序,排序时会根据数值的大小进行排序
同样,运用Arrays类也可以对Object数组进行排序,但此种方法要求:对象所在的来必须实现Comparable接口。
比较器的排序原理
Comparator接口:如果一个类已经开发完成,但此类建立时没有实现Comparable接口,
此时必须用到Comparator接口进行排序操作。
观察者设计模式
思想:多个观察者都在关注同一事物的变化,只要这个事物一有变化,所有的观察者会立即有所行动。
正则表达式:
在程序中应用正则表达式,依靠Pattern类和Matcher类。
Pattern类进行正则规范的编写,而Matcher类执行规范,验证一个字符串是否符合其规范。