配列か否かの判定をする、配列の要素のタイプを取得する
通常のプログラムでは不要だが、ライブラリを作るときには、このような処理が必要になることがある.
実行環境はJDK 1.6.
Tips0022.java
package jp.avaj.lib.algo;
import jp.avaj.lib.test.ArTest;
import jp.avaj.lib.test.L;
class Tips0022 {
public static void main(String[] args) {
//
String nonArray = "aaaa";
Integer[] integerArray = new Integer[]{
0,1,2,3
};
int[] intArray = new int[] {
0,1,2,3
};
String[] strArray = new String[] {
// サイズゼロ
};
//
// 上記の変数がどんなものかを忘れてしまったので、調べてみる
//
// テストケースを開始する
ArTest.startTestCase("Tips0022");
//
boolean result;
//
// nonArray
{
// 配列であるかを調べる
result = nonArray.getClass().isArray();
ArTest.isFalse("nonArray","result",result);
}
// integerArray
{
// 配列であるかを調べる.
result = integerArray.getClass().isArray();
ArTest.isTrue("integerArray","result",result);
// 配列の要素のタイプを取得する
L.p("integerArrayの要素="+integerArray.getClass().getComponentType().getName());
// 配列の要素がprimitiveであるかを調べる
result = integerArray.getClass().getComponentType().isPrimitive();
ArTest.isFalse("integerArray","result",result);
}
// intArray
{
// 配列であるかを調べる
result = intArray.getClass().isArray();
ArTest.isTrue("intArray","result",result);
// 配列の要素のタイプを取得する
L.p("intArrayの要素="+intArray.getClass().getComponentType().getName());
// 配列の要素がprimitiveであるかを調べる
result = intArray.getClass().getComponentType().isPrimitive();
ArTest.isTrue("intArray","result",result);
}
// strArray
{
// 配列であるかを調べる
result = strArray.getClass().isArray();
ArTest.isTrue("strArray","result",result);
// 配列の要素のタイプを取得する
L.p("strArrayの要素="+strArray.getClass().getComponentType().getName());
// 配列の要素がprimitiveであるかを調べる
result = strArray.getClass().getComponentType().isPrimitive();
ArTest.isFalse("strArray","result",result);
}
// テストケースを終了する
ArTest.endTestCase();
}
}
結果は次のとおり。
Tips0022-result.txt
**** Tips0022 start ****
OK nonArray:result=false
OK integerArray:result=true
integerArrayの要素=java.lang.Integer
OK integerArray:result=false
OK intArray:result=true
intArrayの要素=int
OK intArray:result=true
OK strArray:result=true
strArrayの要素=java.lang.String
OK strArray:result=false
**** Tips0022 summary ****
test count = 7
success = 7
Author And Source
この問題について(配列か否かの判定をする、配列の要素のタイプを取得する), 我々は、より多くの情報をここで見つけました https://qiita.com/artery/items/9007d7757f45ad1ed896著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .