「Java」instanceof演算子でObject型の変数が型(Integer、Double、String、Character)のインスタンスを判定するサンプル

構文
オブジェクト型の変数 instanceof String
オブジェクト型の変数 instanceof Integer
オブジェクト型の変数 instanceof BigDecimal
オブジェクト型の変数 instanceof Double
オブジェクト型の変数 instanceof Long
Javaコード

package com.arkgame.study.java;

import java.math.BigDecimal;

public class InstanceOfDemo {

      public static void main(String[] args) {

            // String
            Object objA = "AAA";
            // long
            Object objB = 123l;
            // BigDecimal
            Object objC = new BigDecimal(123.256);
            // Double
            Object objD = new Double(12.68);
            // Boolean
            Object objE = true;
            // char
            Object objF = 'F';
            // Integer
            Object objH = 54321;

            // call method
            System.out.println("変数objAは[ " + getobjType(objA) + " ]です。");
            System.out.println("変数objBは[ " + getobjType(objB) + " ]です。");
            System.out.println("変数objCは[ " + getobjType(objC) + " ]です。");
            System.out.println("変数objDは[ " + getobjType(objD) + " ]です。");
            System.out.println("変数objEは[ " + getobjType(objE) + " ]です。");
            System.out.println("変数objFは[ " + getobjType(objF) + " ]です。");
            System.out.println("変数objHは[ " + getobjType(objH) + " ]です。");

      }

      // object type judgment
      public static String getobjType(Object obj) {

            String result = null;
            if (obj != null) {
                  // String
                  if (obj instanceof String) {
                        result = "string型";
                  } else if (obj instanceof Long) { // long
                        result = "Long型";
                  } else if (obj instanceof Integer) { // Integer
                        result = "Integer型";
                  } else if (obj instanceof BigDecimal) { // BigDecimal
                        result = "BigDecimal型";
                  } else if (obj instanceof Double) { // Double
                        result = "Double型";
                  } else if (obj instanceof Boolean) { // Boolean
                        result = "Boolean型";
                  } else if (obj instanceof Character) {// Character
                        result = "Character型";
                  }
            }
            return result;
      }
}

実行結果
変数objAは[ string型 ]です。
変数objBは[ Long型 ]です。
変数objCは[ BigDecimal型 ]です。
変数objDは[ Double型 ]です。
変数objEは[ Boolean型 ]です。
変数objFは[ Character型 ]です。
変数objHは[ Integer型 ]です。

Java

Posted by arkgame