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)

  • 相关阅读:
    app被Rejected 的各种原因翻译
    UIView Border color
    Centos7下安装docker
    利用Yum彻底移除docker
    Docker删除全部镜像和容器
    【转】哈哈笑一笑
    【转】KAFKA分布式消息系统
    java读取properties文件
    java反序列化php序列化的对象
    Java 1.7.0_06中String类内部实现的一些变化【转】
  • 原文地址:https://www.cnblogs.com/aomi/p/7909581.html
Copyright © 2011-2022 走看看