commons-langでランダムな値を生成する--commons-langの便利メソッド

山崎良
2008-08-06 21:33:00
  • このエントリーをはてなブックマークに追加

RandomStringUtils

 RandomStringUtilsはランダムな文字列を生成するためのメソッドだ。使用する文字種に合わせて簡単に扱える4つのメソッドを紹介する。

RandomStringUtils#randomAscii

 randomAsciiメソッドは「コントロール文字を除くASCII文字(ASCIIコードの32〜126の文字)を使用してランダムな文字列を生成する。今回解説するRandomStringUtilsのメソッドの引数は、全て「生成する文字列の桁数」である。

RandomStringUtils.randomAscii(10)

 メソッドの返り値として以下のような値を得ることができる。

\OVuAvDJp=

RandomStringUtils#randomAlphabetic

 randomAlphabeticメソッドは、「半角アルファベットの大文字と小文字」を使用してランダムな文字列を生成する。

RandomStringUtils.randomAlphabetic(10)

 メソッドの返り値として以下のような値を得ることができる。

BJsHYepwXm

RandomStringUtils#randomNumeric

 randomNumericメソッドは、「半角数字」を使用してランダムな文字列を生成する。

RandomStringUtils.randomNumeric(10)

 メソッドの返り値として以下のような値を得ることができる。

3144964136

RandomStringUtils#randomAlphanumeric

 randomAlphanumericメソッドは、「半角アルファベットの大文字と小文字」に加え「半角数字」を使用してランダムな文字列を生成する。

RandomStringUtils.randomAlphanumeric(10)

 メソッドの返り値として以下のような値を得ることができる。

ujgBHPgmNL

RandomUtils

 RandomUtilsはランダムな数値を生成するためのメソッドだ。今回はRandomUtilsの扱いの簡単なメソッドを紹介する。

RandomUtils#nextBoolean

 nextBooleanメソッドはランダムにboolean型の値を生成する。

RandomUtils.nextBoolean()

 メソッドの返り値は「true」もしくは「false」となる。

RandomUtils#nextDouble

 nextDoubleメソッドはランダムにdouble型の値を生成する。

RandomUtils.nextDouble()

 メソッドの返り値として以下のような値を得ることができる。

0.051759575629452104

RandomUtils#nextFloat

 nextFloatメソッドはランダムにfloat型の値を生成する。

RandomUtils.nextFloat()

 メソッドの返り値として以下のような値を得ることができる。

0.7185492

RandomUtils#nextLong

 「nextLong」メソッドはランダムにlong型の値を生成する。

RandomUtils.nextLong()

 メソッドの返り値として以下のような値を得ることができる。

7884322053876122624

RandomUtils#nextInt

 nextIntメソッドはランダムにint型の値を生成する。

RandomUtils.nextInt()

 メソッドの返り値として以下のような値を得ることができる。

1833691822

 また、nextIntメソッドは引数にint型の数値を指定することで、「0〜指定した数値の範囲の値を返す」ように指定することができる(指定した数値そのものは含まない)。例えば引数に「3」を指定した場合、結果は「0」「1」「2」のいずれかとなる。

 もし「1〜3」の値を取得したいのであれば、

RandomStringUtils.nextInt(3)+1

 と指定することで、意図した値を取得することができるだろう。

 以上がcommons-langを使って簡単にランダムな値を生成する方法だ。使う機会はそれほど多くないだろうが、覚えておくといざという時にはとても便利である。

  • 新着記事
  • 特集
  • ブログ