常用类

2019-05-22  本文已影响0人  Auncle_

常用类包括:

Object 、String 、StringBuffer、StringBuilder、StringUtils、
System、Runtime 、Math 、Date、Calendar、File、Random ...

1.Object

Class Object是类Object结构的根。 每个班都有Object作为超类。 所有对象(包括数组)都实现了这个类的方法。

1.equals():比较两个对象是否相等

2.getClass():获取任意对象运行时的所属字节码文件对象

3.hashCode():返回对象的哈希码值

4.toString():将对象变成字符串 默认返回的格式: 类名@哈希值 = getClass().getName() + '@' + Integer.toHexString(hashCode()) 为了对象对应的字符串内容有意义 可以通过复写 建立该类对象自己特有的字符串表现形式

5.finalize():当垃圾收集确定不再有对该对象的引用时,垃圾收集器在对象上调用该对象

6.notify():唤醒正在睡眠的线程

7.notifyAll():唤醒所有睡眠的线程

8.wait():等待线程

2.String

String类代表字符串。 Java程序中的所有字符串文字(例如"abc" )都被实现为此类的实例。

字符串不变; 它们的值在创建后不能被更改。 字符串缓冲区支持可变字符串。 因为String对象是不可变的,它们可以被共享

3.StringBuffer、StringBuilder

StringBuffer和StringBuilder都是可变字符串,区别在于StringBuffer是线程安全的而StringBuilder是不安全的但是效率比StringBuffer要高

4.StringUtils

StringUtils是操作String的工具类具体方法:

1.abbreviate():缩写一段文字

StringUtils.abbreviate("abcdefghijklmno", -1, 10) = "abcdefg..."

2.isBlank()、isEmpty():判断是否为空
区别isBlank 如果当前文字中全是空格或者是null 返回true 如果里面存在文字返回flase。isEmpty如果存在多个空格返回flase

        String str1 = "   ";
        //true
        boolean blank = StringUtils.isBlank(str1);
        //false
        boolean empty = StringUtils.isEmpty(str1);

3.trim()、trimToEmpty()、stripToNull():

去除空格


4.join():用于关联列表String

 List<String> strings = new ArrayList<>();
    strings.add("1");
    strings.add("2");
    strings.add("3");
    //结果1-2-3
    System.out.println(StringUtils.join(strings,"-"));

5.System(系统类)

System类包含几个有用的类字段和方法。 它不能被实例化。
System类提供的System包括标准输入,标准输出和错误输出流; 访问外部定义的属性和环境变量; 一种加载文件和库的方法; 以及用于快速复制阵列的一部分的实用方法。

1.gc(): 通知系统回收垃圾

2.exit():终止线程
3.currentTimeMillis():获得当前系统毫秒值
4.in、out、error() 用于打印输出

6.Runtime(运行时环境类)

java.lang.Runtime
类中没有构造方法 不能创建对象
但是有非静态方法 说明该类中应该定义好了对象 并可以通过一个static方法获取这个对象 用这个对象来调用非静态方法 这个方法就是 static Runtime getRuntime(); (单例设计模式)

  Runtime runtime = Runtime.getRuntime();
        //打开记事本
        runtime.exec("C:\\Windows\\notepad.exe");
        //虚拟机最大存储空间
        runtime.maxMemory();
        //虚拟机空闲存储空间大小
        runtime.freeMemory();
        //虚拟机内存总量
        runtime.totalMemory();

7.Math(数学算数类)

        //求绝对值
        Math.abs(10.1);
        //向上取整
        Math.ceil(10.6);
        //向下取整
        Math.floor(10.4);
        //最大值
        Math.max(2, 5);
        //最小值
        Math.min(1, 7);
        //随机数
        Math.random();

8.Date(时间类)

1.after():测试此日期是否在指定日期之后。

2.before():测试此日期是否在指定日期之前。

3.getTime():获得当前时间毫秒值

4.setTime():设置毫秒值

9.Calendar(日历类)

从JDK1.1版本开始,在处理日期和时间时,系统推荐使用Calendar类进行实现(Date的一些方法都过时了)。在设计上,Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要复杂一些

1.add():根据日历的规则,将指定的时间量添加或减去给定的日历字段

//当前时间是2019-04-20
Calendar cal = Calendar.getInstance();
 cal.add(Calendar.DATE,-1);
//获得昨天的时间是  2019-04-19
 System.out.println(SIMPLE_DATE_FORMAT.format(cal.getTime()));

2.set():设置日历字段中的值

//当前时间是2019-04-20
Calendar cal = Calendar.getInstance();
//设置月份为11 月 MONTH 0~11
cal.set(Calendar.MONTH,10);
//设置时间为2019-11-11
cal.set(2019,10,11);



3.get():获得指定的年月日时分秒

 //当前时间是2019-04-20
 Calendar cal = Calendar.getInstance();
//获得年
cal.get(Calendar.YEAR);
//获得月
cal.get(Calendar.MARCH);
//获得天
cal.get(Calendar.DATE);
//获得小时
cal.get(Calendar.HOUR);



4.getTime():转换成date对象

5.setTime():设置当前时间

6.getMaximum()、getActualMaximum():getActualMaximum 返回实际的最大数值,getMaximum 返回的是可能的最大数值。

//当前时间是2019-04-20
Calendar cal = Calendar.getInstance();
//获得有可能的最大值 31
cal.getMaximum(Calendar.DATE);
//获得当月的最大天数 30
cal.getActualMaximum(Calendar.DATE);

练习

//当前时间是2019-04-20
        Calendar cal = Calendar.getInstance();
        //获得后10天
        /*for (int i = 0; i < 12; i++) {
            cal.add(Calendar.DATE,+1);
            System.out.println(SIMPLE_DATE_FORMAT.format(cal.getTime()));
        }*/
        //获得当月最大天数
        int actualMaximum = cal.getActualMaximum(Calendar.DATE);
        System.out.println(actualMaximum);
        //设置日历当月的从第一个月开始
        cal.set(Calendar.DATE,0);
        for (int i = 1; i <= actualMaximum; i++) {
            cal.add(Calendar.DATE,+1);
            System.out.println(SIMPLE_DATE_FORMAT.format(cal.getTime()));
        }

10.Random(随机数)


 Random random = new Random();
        //随机Double
        random.nextDouble();
        //随机int
        random.nextInt();
        //随机long
        random.nextLong();
上一篇下一篇

猜你喜欢

热点阅读