2009年07月12日

【1日1Commons】CharUtils.toIntValueでcharをintに

CharUtils.toIntValueという、あまり使う機会がなさそうなメソッドの実行例


// JRE 1.6.0_07
// Commons Lang 2.4
// org.apache.commons.lang.CharUilts
// toIntValueで数値に変換
// tag int char
        
int i;

// toIntValueでintに変換
i = CharUtils.toIntValue( '8' );
System.out.println( i );
  // => 8

// 数値じゃないものが来た場合は例外になる
// 個人的には97とか出てくれることを期待してた
i = CharUtils.toIntValue( 'a' );
System.out.println( i );
  // => java.lang.IllegalArgumentException

// defaultValueを設定しておくと例外にならない
i = CharUtils.toIntValue( 'a', 99 );
System.out.println( i );
  // => 99

// NumberUtils.toIntで文字列を数値に変換するのはけっこう使うけど、
// この子を使うシーンに出くわすことはあまりない様な気がする

// ちなみに内部的にはisAsciiNumericで判定した後、
// 数値ならcharから-48している
// 下手に例外を発するよりはパフォーマンスは良いはず

// JavaDoc
// http://commons.apache.org/lang/api-release/org/apache/commons/lang/CharUtils.html