Java Tips -=-= Library =-=- Apache Commons Lang Part 3
- 2017年11月13日
- CATEGORY- 1. 技術力{技術情報}
前回に引き続き【Apache Commons Lang】をご紹介いたします。
今回は、
CharUtils
class
のサンプルをご紹介します。
Apache Commons Langとは
Apache Commons Lang(アパッチ・コモンズ・ラング)は、ApacheのトッププロジェクトであるApache Commonsにある、Javaのjava.langパッケージを拡張するライブラリである。
– License:
Apache 2.0
– Home Page:
http://commons.apache.org/proper/commons-lang/
– Maven repository:
https://mvnrepository.com/artifact/org.apache.commons/commons-lang3
– Maven dependency
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.6</version> </dependency>
– Java doc:
https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/package-summary.html
CharUtils
このクラスはcharプリミティブとCharacterオブジェクトに対する操作を提供します。このクラスはnull入力を正常に処理しようとします。null入力に対しては例外はスローされません。各メソッドは、その動作をより詳細に記録します。
共通変数
private static final char CHAR_COPY = '\u00a9'; private static final Character CHARACTER_A = new Character('A'); private static final Character CHARACTER_B = new Character('B');
– static boolean isAscii(char ch)
文字がASCII 7ビットであるかどうかをチェックします。
/** * Test for {@link CharUtils#isAscii(char)} */ @Test public void testIsAscii() { assertTrue(CharUtils.isAscii('a')); assertTrue(CharUtils.isAscii('A')); assertTrue(CharUtils.isAscii('3')); assertTrue(CharUtils.isAscii('-')); assertTrue(CharUtils.isAscii('\n')); assertFalse(CharUtils.isAscii(CHAR_COPY)); for (int i = 0; i < 128; i++) { if (i < 128) { assertTrue(CharUtils.isAscii((char) i)); } else { assertFalse(CharUtils.isAscii((char) i)); } } }
– static boolean isAsciiAlpha(char ch)
文字がASCII 7ビットのアルファベットであるかどうかをチェックします。
/** * Test for {@link CharUtils#isAsciiAlpha(char)} */ @Test public void testIsAsciiAlpha() { assertTrue(CharUtils.isAsciiAlpha('a')); assertTrue(CharUtils.isAsciiAlpha('A')); assertFalse(CharUtils.isAsciiAlpha('3')); assertFalse(CharUtils.isAsciiAlpha('-')); assertFalse(CharUtils.isAsciiAlpha('\n')); assertFalse(CharUtils.isAsciiAlpha(CHAR_COPY)); for (int i = 0; i < 196; i++) { if ((i >= 'A' && i <= 'Z') || (i >= 'a' && i <= 'z')) { assertTrue(CharUtils.isAsciiAlpha((char) i)); } else { assertFalse(CharUtils.isAsciiAlpha((char) i)); } } }
– static boolean isAsciiAlphaLower(char ch)
文字は7ビットアルファベットの小文字のASCIIであるかどうかをチェックします。
/** * Test for {@link CharUtils#isAsciiAlphaLower(char)} */ @Test public void testIsAsciiAlphaLower() { assertTrue(CharUtils.isAsciiAlphaLower('a')); assertFalse(CharUtils.isAsciiAlphaLower('A')); assertFalse(CharUtils.isAsciiAlphaLower('3')); assertFalse(CharUtils.isAsciiAlphaLower('-')); assertFalse(CharUtils.isAsciiAlphaLower('\n')); assertFalse(CharUtils.isAsciiAlphaLower(CHAR_COPY)); for (int i = 0; i < 196; i++) { if (i >= 'a' && i <= 'z') { assertTrue(CharUtils.isAsciiAlphaLower((char) i)); } else { assertFalse(CharUtils.isAsciiAlphaLower((char) i)); } } }
– static boolean isAsciiAlphanumeric(char ch)
文字がASCII 7ビットのアルファベットまたは数値であるかどうかをチェックします。
/** * Test for {@link CharUtils#isAsciiAlphanumeric(char)} */ @Test public void testIsAsciiAlphanumeric() { assertTrue(CharUtils.isAsciiAlphanumeric('a')); assertTrue(CharUtils.isAsciiAlphanumeric('A')); assertTrue(CharUtils.isAsciiAlphanumeric('3')); assertFalse(CharUtils.isAsciiAlphanumeric('-')); assertFalse(CharUtils.isAsciiAlphanumeric('\n')); assertFalse(CharUtils.isAsciiAlphanumeric(CHAR_COPY)); for (int i = 0; i < 196; i++) { if ((i >= 'A' && i <= 'Z') || (i >= 'a' && i <= 'z') || (i >= '0' && i <= '9')) { assertTrue(CharUtils.isAsciiAlphanumeric((char) i)); } else { assertFalse(CharUtils.isAsciiAlphanumeric((char) i)); } } }
– static boolean isAsciiAlphaUpper(char ch)
文字は7ビットアルファベットの大文字ASCIIであるかどうかをチェックします。
/** * Test for {@link CharUtils#isAsciiAlphaUpper(char)} */ @Test public void testIsAsciiAlphaUpper() { assertFalse(CharUtils.isAsciiAlphaUpper('a')); assertTrue(CharUtils.isAsciiAlphaUpper('A')); assertFalse(CharUtils.isAsciiAlphaUpper('3')); assertFalse(CharUtils.isAsciiAlphaUpper('-')); assertFalse(CharUtils.isAsciiAlphaUpper('\n')); assertFalse(CharUtils.isAsciiAlphaUpper(CHAR_COPY)); for (int i = 0; i < 196; i++) { if (i >= 'A' && i <= 'Z') { assertTrue(CharUtils.isAsciiAlphaUpper((char) i)); } else { assertFalse(CharUtils.isAsciiAlphaUpper((char) i)); } } }
– static boolean isAsciiControl(char ch)
文字がASCII 7ビットの制御文字であるかどうかをチェックします。
/** * Test for {@link CharUtils#isAsciiControl(char)} */ @Test public void testIsAsciiControl() { assertFalse(CharUtils.isAsciiControl('a')); assertFalse(CharUtils.isAsciiControl('A')); assertFalse(CharUtils.isAsciiControl('3')); assertFalse(CharUtils.isAsciiControl('-')); assertTrue(CharUtils.isAsciiControl('\n')); assertFalse(CharUtils.isAsciiControl(CHAR_COPY)); for (int i = 0; i < 196; i++) { if (i < 32 || i == 127) { assertTrue(CharUtils.isAsciiControl((char) i)); } else { assertFalse(CharUtils.isAsciiControl((char) i)); } } }
– static boolean isAsciiNumeric(char ch)
文字がASCII 7ビットの数値であるかどうかをチェックします。
/** * Test for {@link CharUtils#isAsciiNumeric(char)} */ @Test public void testIsAsciiNumeric() { assertFalse(CharUtils.isAsciiNumeric('a')); assertFalse(CharUtils.isAsciiNumeric('A')); assertTrue(CharUtils.isAsciiNumeric('3')); assertFalse(CharUtils.isAsciiNumeric('-')); assertFalse(CharUtils.isAsciiNumeric('\n')); assertFalse(CharUtils.isAsciiNumeric(CHAR_COPY)); for (int i = 0; i < 196; i++) { if (i >= '0' && i <= '9') { assertTrue(CharUtils.isAsciiNumeric((char) i)); } else { assertFalse(CharUtils.isAsciiNumeric((char) i)); } } }
– static boolean isAsciiPrintable(char ch)
文字がASCII 7ビット印刷可能であるかどうかをチェックします。
/** * Test for {@link CharUtils#isAsciiPrintable(char)} */ @Test public void testIsAsciiPrintable() { assertTrue(CharUtils.isAsciiPrintable('a')); assertTrue(CharUtils.isAsciiPrintable('A')); assertTrue(CharUtils.isAsciiPrintable('3')); assertTrue(CharUtils.isAsciiPrintable('-')); assertFalse(CharUtils.isAsciiPrintable('\n')); assertFalse(CharUtils.isAsciiPrintable(CHAR_COPY)); for (int i = 0; i < 196; i++) { if (i >= 32 && i <= 126) { assertTrue(CharUtils.isAsciiPrintable((char) i)); } else { assertFalse(CharUtils.isAsciiPrintable((char) i)); } } }
– static char toChar(Character ch)
文字型に変換する。nullのための例外をスローする。
– static char toChar(Character ch, char defaultValue)
文字型に変換する。nullの場合デフォルト値を返す。
Converts the Character to a char handling null.
/** * Test for {@link CharUtils#toChar(Character)} * {@link CharUtils#toChar(Character, char)} */ @Test public void testToChar() { assertThat(CharUtils.toChar(CHARACTER_A), is('A')); assertThat(CharUtils.toChar(CHARACTER_B), is('B')); try { CharUtils.toChar((Character) null); fail(); } catch (final IllegalArgumentException ex) { } assertThat(CharUtils.toChar(CHARACTER_A, 'X'), is('A')); assertThat(CharUtils.toChar(CHARACTER_B, 'X'), is('B')); assertThat(CharUtils.toChar((Character) null, 'X'), is('X')); }
– static int toIntValue(Character ch)
文字型を整数に変換する。nullの場合は例外を投げる。
– static int toIntValue(Character ch, int defaultValue)
文字型を整数に変換する。nullの場合はデフォルト値を返す。
/** * Test for {@link CharUtils#toIntValue(Character)} * {@link CharUtils#toIntValue(Character, int)} */ @Test public void testToIntValue() { assertThat(CharUtils.toIntValue(new Character('0')), is(0)); assertThat(CharUtils.toIntValue(new Character('3')), is(3)); try { CharUtils.toIntValue(null); fail(); } catch (final IllegalArgumentException ex) { } try { CharUtils.toIntValue(CHARACTER_A); fail(); } catch (final IllegalArgumentException ex) { } assertThat(CharUtils.toIntValue(new Character('0'), -1), is(0)); assertThat(CharUtils.toIntValue(new Character('3'), -1), is(3)); assertThat(CharUtils.toIntValue(new Character('A'), -1), is(-1)); assertThat(CharUtils.toIntValue(null, -1), is(-1)); }
– static String toString(Character ch)
文字型を文字列に変換します。
/** * Test for {@link CharUtils#toString(Character)} */ @Test public void testToString() { assertThat(CharUtils.toString(null), nullValue()); assertThat(CharUtils.toString(CHARACTER_A), is("A")); }
– static String unicodeEscaped(Character ch)
文字型をUnicode形式の文字列に変換します。
/** * Test for {@link CharUtils#unicodeEscaped(Character)} */ @Test public void testUnicodeEscaped() { assertEquals(null, CharUtils.unicodeEscaped(null)); assertEquals("\\u0041", CharUtils.unicodeEscaped(CHARACTER_A)); }
【Apache Commons Lang】いかがだったでしょうか。
次回も引き続き【Apache Commons Lang】をご紹介します。
【関連記事】
Google App Engine 第一回
Google App Engine 第二回
Javaのライブラリを手軽にテストしたい!! Groovy入門 第1回
Google App Engine 第三回
Google App Engine 第四回
Google App Engine 第五回
Google App Engine 第六回
Google App Engine 第七回
Google App Engine 第八回
Google App Engine 第九回
Google App Engine 第十回
Google App Engine 第十一回
Google App Engine 第十二回
AngularJS入門01
AngularJS入門02
AngularJS入門03
AngularJS入門04
AngularJS入門05
AngularJS入門06
AngularJS入門07
AngularJS入門08
AngularJS入門09
攻略 Elevator Saga =基本編=
攻略 Elevator Saga =応用編=
Java Tips -=-= Library =-=- JodaTime [前半]
Java Tips -=-= Library =-=- JodaTime [後半]
Java Tips -=-= Library =-=- Lombok Part 1
Java Tips -=-= Library =-=- Lombok Part 2
Java Tips -=-= Library =-=- Lombok Part 3
Java Tips -=-= Library =-=- Lombok Part 4
Java Tips -=-= Library =-=- Apache Commons Lang Part 1
Java Tips -=-= Library =-=- Apache Commons Lang Part 2
- 2017年11月13日
- CATEGORY- 1. 技術力{技術情報}