zoukankan      html  css  js  c++  java
  • 学习apache commons lang3的源代码 (1):前言和R

    本系列主要是针对lang3的3.7版本的源代码进行学习,并适当举例。一共大概150多个java文件,争取30天内学习完毕。

    26个英文字母 争取每天学习1个字母开头的类们。

    今天,就学习R开头的吧。

    第一个:RandomUtils。

    这个类,是对Random类 (java.util) 的补充。

    这个类,的代码不算复杂。因为是Random的helper。因此,在其内部,首先声明一个:

     private static final Random RANDOM = new Random();

    1)有些方法,实际上就是直接调用Random的方法。比如:nextBoolean();

    public static boolean nextBoolean() {
    return RANDOM.nextBoolean();
    }

    2)有些方法,实际上就是做一些校验,然后,增强型的直接调用Random的方法。比如:nextBytes。

    public static byte[] nextBytes(final int count) {
    Validate.isTrue(count >= 0, "Count cannot be negative.");

    final byte[] result = new byte[count];
    RANDOM.nextBytes(result);
    return result;
    }

    3)有些方法,是Random没有直接提供的。比如:nextInt,是返回两个整数之间的随机值。

    public static int nextInt(final int startInclusive, final int endExclusive) {
    Validate.isTrue(endExclusive >= startInclusive,
    "Start value must be smaller or equal to end value.");
    Validate.isTrue(startInclusive >= 0, "Both range values must be non-negative.");

    if (startInclusive == endExclusive) {
    return startInclusive;
    }

    return startInclusive + RANDOM.nextInt(endExclusive - startInclusive);
    }

    至于nextLong,则和nextInt类似。

    4)

  • 相关阅读:
    Python3安装
    HTML基础
    Python Socket
    python常用模块
    JSON.stringify的三个参数
    判断数组中存在重复元素
    vant-ui表单验证
    如何计算出浏览器的帧数?requestAnimationFrame
    js判断两个区间是否存在交集
    怎么在组件内部判断出是否插入了slot
  • 原文地址:https://www.cnblogs.com/aomi/p/7909581.html
Copyright © 2011-2022 走看看