常用类

作者: Auncle_ | 来源:发表于2019-05-22 18:14 被阅读0次

    常用类包括:

    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();
    

    相关文章

      网友评论

          本文标题:常用类

          本文链接:https://www.haomeiwen.com/subject/srtpzqtx.html