型によって、処理を分けたい場合があると思います。
Javaだとinstanceofで確認を行うみたいです。
ということで、簡易なコード書いてみました。
package test;
import java.time.LocalDateTime;
public class Main {
public static void main(String[] args) {
String str = "test";
Integer iNum = 1;
Double dNum = 2.2;
Float fNum = 3.3f;
LocalDateTime now = LocalDateTime.now();
instanceCheck(str);
instanceCheck(iNum);
instanceCheck(dNum);
instanceCheck(fNum);
instanceCheck(now);
}
/**
* 型の確認
* @param obj 値
*/
public static void instanceCheck(Object obj) {
if (obj instanceof String) {
System.out.println("String");
} else if (obj instanceof Number) {
if (obj instanceof Integer) {
System.out.println("Integer");
} else if (obj instanceof Double) {
System.out.println("Double");
} else if (obj instanceof Float) {
System.out.println("Float");
}
} else {
System.out.println("その他");
}
}
}
実行結果は、
String
Integer
Double
Float
その他
となります。
よかったらアレンジしてみて使ってください。
コメント